原文:[url]http://blog.myspace.cn/1305035574/archive/2008/04/03/400694243.aspx[/url]
Spring Framework 【Java開源 J2EE架構】
Spring是一個解決了許多在J2EE開發中常見的問題的強大架構。 Spring提供了管理業務對象的一緻方法并且鼓勵了注入對接口程式設計而不是對類程式設計的良好習慣。Spring的架構基礎是基于使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為建構完關注所有架構層的完整解決方案方面是獨一無二的。 Spring提供了唯一的資料通路抽象,包括簡單和有效率的JDBC架構,極大的改進了效率并且減少了可能的錯誤。Spring的資料通路架構還內建了Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理技術,例如JTA或者JDBC事務提供一個一緻的程式設計模型。Spring提供了一個用标準Java語言編寫的AOP架構,它給POJOs提供了聲明式的事務管理和其他企業事務--如果你需要--還能實作你自己的aspects。這個架構足夠強大,使得應用程式能夠抛開EJB的複雜性,同時享受着和傳統EJB相關的關鍵服務。Spring還提供了可以和IoC容器內建的強大而靈活的MVC Web架構。【SpringIDE:Eclipse平台下一個輔助開發插件】.
WebWork 【Java開源 Web架構】
WebWork是由OpenSymphony組織開發的,緻力于元件化和代碼重用的拉出式MVC模式J2EE Web架構。WebWork目前最新版本是2.1,現在的WebWork2.x前身是Rickard Oberg開發的WebWork,但現在WebWork已經被拆分成了Xwork1和WebWork2兩個項目。 Xwork簡潔、靈活功能強大,它是一個标準的Command模式實作,并且完全從web層脫離出來。 Xwork提供了很多核心功能:前端攔截機(interceptor),運作時表單屬性驗證,類型轉換,強大的表達式語言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,處理HTTP的響應和請求。WebWork2使用ServletDispatcher将HTTP請求的變成Action(業務層Action類), session(會話)application(應用程式)範圍的映射,request請求參數映射。WebWork2支援多視圖表示,視圖部分可以使用JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了對AJAX的支援,這支援是建構在DWR與Dojo這兩個架構的基礎之上.【EclipseWork:用于WebWork輔助開發的一個Eclipse插件】
Struts 【Java開源 Web架構】
Struts是一個基于Sun J2EE平台的MVC架構,主要是采用Servlet和JSP技術來實作的。由于Struts能充分滿足應用開發的需求,簡單易用,靈活迅速,在過去的一年中頗受關注。Struts把Servlet、JSP、自定義标簽和資訊資源(message resources)整合到一個統一的架構中,開發人員利用其進行開發時不用再自己編碼實作全套MVC模式,極大的節省了時間,是以說Struts是一個非常不錯的應用架構。【StrutsIDE:用于Struts輔助開發的一個Eclipse插件】
Hibernate 【Java開源 持久層架構】
Hibernate是一個開放源代碼的對象關系映射架構,它對JDBC進行了非常輕量級的對象封裝,使得Java程式員可以随心所欲的使用對象程式設計思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的用戶端程式實用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成資料持久化的重任。Eclipse平台下的Hibernate輔助開發工具:【Hibernate Synchronizer】【MiddlegenIDE】
Quartz 【Java開源 日程安排(Job Schedulers)】
Quartz是OpenSymphony開源組織在Job scheduling領域又一個開源項目,它可以與J2EE與J2SE應用程式相結合也可以單獨使用。Quartz可以用來建立簡單或為運作十個,百個,甚至是好幾萬個Jobs這樣複雜的日程式表。Jobs可以做成标準的Java元件或 EJBs。Quartz的最新版本為Quartz 1.5.0。
Velocity 【Java開源 模闆引擎】
Velocity是一個基于java的模闆引擎(template engine)。它允許任何人僅僅簡單的使用模闆語言(template language)來引用由java代碼定義的對象。 當Velocity應用于web開發時,界面設計人員可以和java程式開發人員同步開發一個遵循MVC架構的web站點,也就是說,頁面設計人員可以隻關注頁面的顯示效果,而由java程式開發人員關注業務邏輯編碼。Velocity将java代碼從web頁面中分離出來,這樣為web站點的長期維護提供了便利,同時也為我們在JSP和PHP之外又提供了一種可選的方案。 Velocity的能力遠不止web站點開發這個領域,例如,它可以從模闆(template)産生SQL和PostScript、XML,它也可以被當作一個獨立工具來産生源代碼和報告,或者作為其他系統的內建元件使用。Velocity也可以為Turbine web開發架構提供模闆服務(template service)。Velocity+Turbine提供一個模闆服務的方式允許一個web應用以一個真正的MVC模型進行開發。 【VeloEclipse :Velocity在Eclipse平台下的一個輔助開發插件】
IBATIS 【Java開源 持久層架構】
使用ibatis 提供的ORM機制,對業務邏輯實作人員而言,面對的是純粹的Java對象, 這一層與通過Hibernate 實作ORM 而言基本一緻,而對于具體的資料操作,Hibernate 會自動生成SQL 語句,而ibatis 則要求開發者編寫具體的SQL 語句。相對Hibernate等 “全自動”ORM機制而言,ibatis 以SQL開發的工作量和資料庫移植性上的讓步,為系統 設計提供了更大的自由空間。作為“全自動”ORM 實作的一種有益補充,ibatis 的出現顯 得别具意義。
Compiere ERP 【Java開源 ERP與客戶關系管理】
這一高價值的商業應用程式,易于安裝、易于實施、易于使用。隻需要短短幾個小時,您就可以使用申購-采購-發票-付款、報價-訂單-發票-收款、産品與定價、資産管理、客戶關系、供應商關系、員工關系、經營業績分析等強大功能了!功能未減,實施時間縮減到 4 小時。最重要的是:這一高價值的商業應用程式是免費的!可以自行安裝和實施這套系統(如果您略懂 Oracle 和 Java 技術)。
中文站點:[url]http://www.compiere-china.com/[/url]
Roller Weblogger 【Java開源 部落格(Blog)】
這個weblogging 設計得比較精巧,源代碼是很好的學習資料。它支援weblogging應有的特性如:評論功能,所見即所得HTML編輯,TrackBack,提供頁面模闆,RSS syndication,blogroll管理和提供一個XML-RPC 接口。
displytag 【Java開源 Jsp标簽庫】
與Struts結合使用最出名的一個tag主要是顯示表格資料很漂亮、完善。
JFreeChart 【Java開源 報表制作】
JFreeChart它主要是用來制作各種各樣的圖表,這些圖表包括:餅圖、柱狀圖(普通柱狀圖以及堆棧柱狀圖)、線圖、區域圖、分布圖、混合圖、甘特圖以及一些儀表盤等等。
Eclipse 【Java開源 開發工具】
Eclipse平台是IBM向開發源碼社群捐贈的開發架構,它之是以出名并不是因為IBM宣稱投入開發的資金總數 —4千萬美元,而是因為如此巨大的投入所帶來的成果:一個成熟的、精心設計的以及可擴充的體系結構。
Liferay 【Java開源 門戶系統】
代表了完整的J2EE應用,使用了Web、EJB以及JMS等技術,特别是其前台界面部分使用Struts 架構技術,基于XML的portlet配置檔案可以自由地動态擴充,使用了Web Services來支援一些遠端資訊的擷取,使用 Apahce Lucene實作全文檢索功能。
主要特點:
1、提供單一登陸接口,多認證模式(LDAP或SQL);
2、管理者能通過使用者界面輕松管理使用者,組,角色;
3、使用者能可以根據需要定制個性化的portal layout;
4、能夠在主流的J2EE應用伺服器上運作,如JBoss+Jetty/Tomcat,JOnAS;
5、支援主流的資料庫,如PostgreSQL,MySQL;
6、使用了第三放的開源項目,如Hibernate, Lucene, Struts;
7、支援包括中文在内的多種語言;
8、采用最先進的技術 Java, EJB, JMS, SOAP, XML;
JetSpeed 【Java開源 門戶系統】
Jetspeed是一個開放源代碼的企業資訊門戶(EIP)的實作, 使用的技術是Java和XML. 使用者可以使用浏覽器, 支援WAP協定的手機或者其它的裝置通路Jetspeed架設的資訊門戶擷取資訊. Jetspeed扮演着資訊集中器的角色, 它能夠把資訊集中起來并且很容易地提供給使用者.
Jetspeed具有如下的特征:
* 即将成為标準化的Java Portlet API
* 基于模闆的布局, 包括JSP和Velocity
* 通過開放的内容同步技術支援遠端XML内容交換
* 定制預設的首頁
* 使用資料庫進行使用者認證
* 記憶體緩存技術, 加快頁面的響應
* 通過Rich Site Summary技術, 支援同步内容
* 和Cocoon, WebMacro, Velocity內建.
* Wireless Markup Language (WML) 支援
* 使用XML格式的配置檔案注冊portlet.
* 完整的Web Application Archive (WAR) 支援
* Web應用程式開發的基礎設施
* 可以在本地緩存遠端内容
* 與Avantgo同步
* 可移植到所有支援JDK1.2和Servlet 2.2的平台
* 與Turbine子產品和服務內建
* 可以根據使用者, 安裝媒體類型和語言的不同設定, 産生不同的個性化服務
* 持續化服務使得所由的portlet能夠容易的存儲每個使用者的狀态, 頁面和portlet
* 使用皮膚技術使得使用者可以選擇portlet的顔色和顯示屬性
* 自定義功能是的管理者可以選擇portlet以及定義個人頁面的布局
* 在資料庫中存儲PSML
* 通過Jetspeed的安全portlets管理使用者, 組,角色和權限
* 基于角色對通路portlet進行控制
JOnAS 【Java開源 EJB伺服器】
JOnAS是一個開放源代碼的J2EE實作,在ObjectWeb協會中開發。整合了Tomcat或Jetty成為它的Web容器,以確定符合Servlet 2.3和JSP 1.2規範。JOnAS伺服器依賴或實作以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。
Turbine 【Java開源 Web架構】
Turbine是基于Servlet的架構包,也是開放源代碼Jakarta項目。目前還沒有關于Turbine的大量文檔。它類似于Struts,但是有一些主要差別。突出的一點就是它并沒有與JSP耦合。Turbine的特點是它提供了大量可重用的元件。此架構包中包含了大量元件,但是這些元件是離散的。它似乎應該給出更多的元件庫,但是由于它缺少文檔,是以很難掌握完整的體系結構。
Tapestry 【Java開源 Web架構】
Tapestry是一個開源的基于servlet的應用程式架構,它使用元件對象模型來建立動态的,互動的web應用。一個元件就是任意一個帶有jwcid屬性的html标記。其中jwc的意思是Java Web Component。Tapestry使得java代碼與html完全分離,利用這個架構開發大型應用變得輕而易舉。并且開發的應用很容易維護和更新。Tapestry支援本地化,其錯誤報告也很詳細。Tapestry主要利用javabean和xml技術進行開發。【Spindle:Tapestry輔助開發Eclipse插件】.
Lucene 【Java開源 搜尋引擎】
Apache Lucene是一個開放源程式的搜尋器引擎,利用它可以輕易地為Java軟體加入全文搜尋功能。Lucene的最主要工作是替檔案的每一個字作索引,索引讓搜尋的效率比傳統的逐字比較大大提高,Lucen提供一組解讀,過濾,分析檔案,編排和使用索引的API,它的強大之處除了高效和簡單外,是最重要的是使使用者可以随時應自已需要自訂其功能。
iText 【Java開源 PDF類庫】
iText是一個能夠快速産生PDF檔案的java類庫。iText的java類對于那些要産生包含文本,表格,圖形的隻讀文檔是很有用的。它的類庫尤其與java Servlet有很好的給合。使用iText與PDF能夠使你正确的控制Servlet的輸出。
Beanshell 【Java開源 腳本語言】
Beanshell是用Java寫成的,一個小型的、免費的、可以下載下傳的、嵌入式的Java源代碼解釋器,具有對象腳本語言特性。BeanShell執行标準Java語句和表達式,另外包括一些腳本指令和文法。它将腳本化對象看作簡單閉包方法(simple method closure)來支援,就如同在Perl和JavaScript中的一樣。 它具有以下的一些特點:使用Java反射API以提供Java語句和表達式的實時解釋執行;可以透明地通路任何Java對象和API;可以在指令行模式、控制台模式、小程式模式和遠端線程伺服器模式等四種模式下面運作;與在應用程式中一樣,可以在小程式中(Applet)正常運作(無需編譯器或者類裝載器);非常精簡的解釋器jar檔案大小為175k
OpenCms 【Java開源 内容管理系統(CMS)】
OpenCms是一個J2EE的産品,它是用Java寫成的。它和Tomcat捆綁在一起。但是也能夠使用ATG Dynamo、WebLogic和WebSphere。OpenCms支援多種RDBMS來儲存内容,包括Oracle、SQL Server、Sybase和mySQL。新版本提供了一個新的模闆引擎,JSP支援,一種新的連接配接管理系統,提高了穩定性。
JUnit 【Java開源 Java測試工具】
JUnit是由 Erich Gamma 和 Kent Beck 編寫的一個回歸測試架構(regression testing framework)。Junit測試是程式員測試,即所謂白盒測試,因為程式員知道被測試的軟體如何(How)完成功能和完成什麼樣(What)的功能。Junit是一套架構,繼承TestCase類,就可以用Junit進行自動測試了。
opencrx 【Java開源 ERP與客戶關系管理】
opencrx很容易與你現存的系統內建 (ERP, IVR, CTI, ...)是你對你以前投資的最大保護而且openCRX支援大多數通用技術,例如 RMI, CORBA, JMS, SOAP, 以及 JCA; openCRX也包括了支援典型插件的智能前台,例如文檔管理,庫存跟蹤, 裝置管理,等. openCRX 可以運作于任意J2EE相容的應用伺服器 (e.g. JBoss, BEA WebLogic or IBM WebSphere) 和主流資料庫 (e.g. MaxDB, Firebird, PostgreSQL, MS SQL, Oracle, or IBM DB2). 容易定制 基于 XML 的定制:徑直的,迅速的以及可行的(包括多語言特性) 容易擴充寫下你自己的工作流,或者發展可擴充的—得益于openCRX的基于元件的體系和像 J2EE,MDA 等的開放标準,這是一個很簡單的任務。(摘自[url]http://www.opencrx.com.cn/crx/[/url])
BlueJ 【Java開源 開發工具】
BlueJ是一個專門為入門級教學設計的JavaTM 開發環境。它是由澳洲墨爾本Monash大學BlueJ小組設計并開發的。
XWiki 【Java開源 Wiki引擎】
XWiki是一個強大的Java開源的Wiki引擎。它支援一些受歡迎的特性如:
* 内容管理(浏覽/編輯/預覽/儲存),
* 支援附件,
* 版本控制,
* 全文本搜尋,
* 權限管理
* 使用Hibernate進行資料存儲,
* RSS輸出與顯示外部的RSS feeds,
* 多語言支援,
* 提供XML/RPC的API,
* WYSIWYG HTML編輯器,
* 導出為PDF
* Groovy腳本支援等等....。
EJBCA 【Java開源 網絡伺服器】
EJBCA是一個全功能的CA系統軟體,它基于J2EE技術,并提供了一個強大的、高性能并基于元件的CA。EJBCA兼具靈活性和平台獨立性,能夠獨立使用,也能和任何J2EE應用程式內建。
Laszlo 【Java開源 XML使用者界面工具包】
利用OpenLaszlo免費平台可以快速地,簡單地開×××亮Web 應用程式。這些Web應用程式可以運作在目前任何流行的浏覽器與桌面作業系統。它隻需要一個XML檔案。【IDE4Laszlo:Eclipse下的輔助開發工具】
JXTA 【Java開源 其它開源項目】
Sun微系統公司公開了旨在建立P2P(Peer to Peer)通用技術基礎的JXTA計劃。JXTA技術是網絡程式設計和計算的平台,用以解決現代分布計算尤其是點對點(P2P)計算中出現的問題。
JXTA将建立核心的網絡計算技術,提供支援在任何平台、任何地方以及任何時間實作P2P計算的一整套簡單、小巧和靈活的機制。JXTA首先将歸納目前P2P的功能特别,而後建立核心的技術來表達目前的P2P計算的局限性。其重點是建立基本的機制,而具體的政策選擇權則交給應用的開發者。JXTA将充分利用XML、Java等開放技術,使得UNIX作業系統更強大和靈活,比如利用管道(Pipes)傳輸Shell指令實作複雜的計算任務。JXTA支援P2P應用的基本功能來建立一個P2P系統,還将努力證明這些可以成為建立更高層功能的基礎構造子產品。JXTA架構可以分為三個層面:JXTA核心層、JXTA業務層和JXTA應用層。
最近更新
--------------------------------------------------------------------------------
EcSplorer 【Java開源 Eclipse插件】
EcSplorer(Eclipse Simplified Explorer)是一個類似于 Windows Explorer的Eclipse插件,它可以幫助你在不退出Eclipse的環境下浏覽本地檔案系統。
Echo2 【Java開源 AJAX開發】
Echo2是Echo Web架構的下一代版本。一個可以用于開發基于Web胖用戶端應用程式的架構。 這2.0版還是沿用Echo的核心思想但Echo2通過它新的AJAX表現層引擎提供生動的使用者界面而且還提高了整體性能和實用性.
OpenEdit 【Java開源 内容管理系統(CMS)】
OpenEdit包括三大子產品Web内容管理,電子商務,部落格。Web内容管理包括線上編輯,動态布局,拼寫檢查(英文), 使用者管理,檔案管理,版本控制和通告工具。電子商務子產品包括線上産品目錄管理,購物車,電子付款,産品展示與産品進階搜尋(利用Nutch/Lucene的web爬行與搜尋功能進行進階搜尋是以不需要用資料庫的功能). Blog子產品包括線上管理,評論,注冊和RSS/Atom引擎。 OpenEdit運用到的開源元件有:Velocity,Dom4j,Spring,Lucene。
Role Playing Tools 【Java開源 Java遊戲】
這是一個為傳統角色扮演遊戲提供相關工具的開源項目。目前包括的工具有:MapTool:這是一個可在C/S架構上為多個玩家提供地圖與地圖資料共享的圖形工具。DiceTool:這是一個能夠在角色扮演遊戲中推測死亡表達式的工具,它還可通過JavaScripts擴充各種計算。TokenTool:友善建立MapTool标記(tokens).
OpenToro 【Java開源 内容管理系統(CMS)】
OpenToro是一個可以讓我們以靈活和自動的方式來開發web資料庫應用程式的工具.利用OpenToro可以省掉在開發一個Web資料庫應用程式時編寫JSP與SQL代碼這樣辛苦乏味的工作.利用它就可以很容易地列出資料庫中的表格與其它内容并生成可以新增,修改,删除的資料.OpenToro相容所有支援SQL-92标準文法的資料庫如:MySQL,Oracle,Access,與SQL-Server.
HtmlSave 【Java開源 Eclipse插件】
這是一個可以把Eclipse編輯器中Java源代碼或其它語言的源代碼存為HTMl格式的插件。
eZing Builder 【Java開源 Eclipse插件】
eZing Builder是一個可以幫助你在很短的時間内開發一個J2EE或MIS應用程式的插件。它類似于PowerBuilder與Visual Web Developer ,但是它使用XQuery來通路XML-DB。
SNMP4J 【Java開源 網絡用戶端】
SNMP4J是一個用Java來實作SNMP(簡單網絡管理協定)協定的開源項目.它支援以指令行的形式進行管理與響應。SNMP4J是純面向對象設計與SNMP++(用C++實作SNMPv1/v2c/v3)相類似。
Sequoia ERP 【Java開源 ERP與客戶關系管理】
Sequoia ERP是一個真正的企業級開源ERP解決方案。它提供的子產品包括:電子商務應用(e-commerce), POS系統(point of sales),知識管理,存貨與倉庫管理,客戶服務( customer service)等.Sequoia ERP采用Java開發可部署在Linux/Unix 與Windows平台上,并支援目前主流資料庫如:MySQL, PostgreSQL,Oracle,Microsoft SQL Server等關系型資料庫.
jenia4faces 【Java開源 其它開源項目】
jenia4faces是一個HTML JSF元件包.這個包主要由以下元件組成:Chart- 動态Chart生成。DataTools-DataTable擴充工具。 Dynamic- dhtml text effects。Popup-在html生成彈出式菜單。 Template-簡單模闆管理器。
Tagit 【Java開源 Web測試】
Tagit是模拟對象(Mock Objects)測試模式的一個實作。它可用于在脫離容器的情況下對自定義JSP标簽進行單元測試。
AJAX-JSF Framework 【Java開源 AJAX開發】
這是一個利用AJAX技術并基于JSF來開發輕量級用戶端的架構.它設計成可在現有的JSF元件上進行開發并最大限度的滿足标準JSF Web流程.
Ditchnet JSP Tabs Taglib 【Java開源 Jsp标簽庫】
這是一個可用來開發多頁選項闆(Tabbed Pane)的簡單标簽。以下是一個Demo:
<tab:tabContainer id="foo-bar-container">
<tab:tabPane id="foo" tabTitle="Foo!">
Foo is cool!
</tab:tabPane>
<tab:tabPane id="bar" tabTitle="Bar!">
<c:out value="Bar is cooler!" />
</tab:tabContainer>
SWATO 【Java開源 AJAX開發】
SWATO (Shift Web Application TO...)是一組可複用并且結合得很好的Java/JavaScript包.它通過AJAX來輕松轉變你web應用程式的互動方式.它帶的一些元件包括可以自動補全的文本架構,動态級聯下拉清單,動态表單等.
Simple Web Framework 【Java開源 Web架構】
Simple Web Framework (SWF)是一個基于事件的web架構.它很适合于那些想要開發胖用戶端Web應用程式但又不想轉向JSF的Struts開發人員。SWF跟Struts一樣也是建構在Jakarta commons基礎之上,但使用一個不同的request processor。SWF事件模型支援基于XmlHttpRequest的事件送出。
Taconite 【Java開源 AJAX開發】
Taconite是一個基于J2EE的架構,可以利用這個架構來簡化Ajax開發。Taconite包含一個用戶端JavaScript包與一組能自動處理Ajax請求并生成動态内容的自定義JSP标簽。
Sequoia 【Java開源 JDBC驅動器】
Sequoia是一個能夠為任何資料庫提供群集,負載平衡和容錯服務的中間件。Sequoia是C-JDBC項目的擴充。
RIFE/Crud 【Java開源 Web架構】
RIFE/Crud是RIFE Web架構的一個擴充子產品,它可以用給定的POJOs自動生成CRUD web應用程式。它沒有生成任何檔案所有的事件都是在運作期進行.利用RIFE提供的 site-structure可以把它與你應用程式的資料流與邏輯流相結合.
Tacos 【Java開源 AJAX開發】
Tacos類包項目為Tapestry Web架構提供一些高性能的元件,同時也為在頁面或自己元件中使用的ajax架構(它目前支援的架構主要是dojo但也支援Prototype,script.aculo.us ,Rico)提供服務端Java支援。
JSON-RPC-Java 【Java開源 AJAX開發】
JSON-RPC-Java是一個用Java來實作動态JSON-RPC的架構. 利用它内置的一個輕級量JSON-RPC JavaScripIt用戶端,可以讓你透明地在JavaScript中調用Java代碼。JSON-RPC-Java可運作在Servlet容器中如Tomcat也可以運作在JBoss與其它J2EE應用伺服器中是以可以在一個基于JavaScript與DHTML的Web應用程式中利用它來直接調用普通Java方法與EJB方法。JSON:JavaScript Object Notation
Jofti 【Java開源 其它開源項目】
Jofti可對在緩存層中(支援EHCache,JBossCache和OSCache)的對象或在支援Map接口的存儲結構中的對象進行索引與搜尋。這個架構還為對象在索引中的增删改提供透明的功能同樣也為搜尋提供易于使用的查詢功能。
Yan 【Java開源 IOC容器】
Yan是一個非侵入式的對象反轉控制容器(IOC容器)。它通過宣告式的方式把簡單的元件組合起來進而建構出任意複雜的元件。這些簡單的元件同樣也有可能是由其它更簡單的元件組合而成。Yan的特點包括開放式的結構,靈活的元件組合,宣告式API和插件式的生命周期管理。Yan對依賴注入的方法沒有限制,它可以對商業對象的Public構造方法進行注入,也可以對java bean getter/setter,有規則的java method,任意變量及它們的任意組合進行注入。
Continuum 【Java開源 系統建構】
Continuum可用于Java項目建構的持續內建,使用簡單。它内置支援Maven 2,Maven 1, Ant和Shell Scripts.
Winstone 【Java開源 Web伺服器】
Winstone是一個Servlet容器,它的目的是提供Servlet功能但沒有完全采用J2EE規範.如果有時你要想的隻是一個簡單的Servlet容器,Winstone是一個最好的解決方案.它支援servlet2.4與JSP2.0規範.
Eclipse 3.1.1 translations 【Java開源 Eclipse插件】
Eclipse 3.1.1和其它Eclipse工具( Visual Editor (VE) , UML2,GEF,EMF / XSD ,WTP等)釋出各種語言支援包。其中包括支援中文的NLpack1包。
詳細可檢視以下網址:
[url]http://eclipse.org/org/press-release/20051012nlscb.html.[/url]
下載下傳位址:
Windows 98/ME/2000/XP
NLpack1_FeatureOverlay-eclipse-SDK-3.1.1.zip
NLpack1-eclipse-SDK-3.1.1a-win32.zip
Linux (x86/GTK 2)
NLpack1-eclipse-SDK-3.1.1a-gtk.zip
Tonic Look & Feel 【Java開源 Swing外觀】
這是Swing金屬(Metal)外觀的免費實作方案.
Commons-IO 【Java開源 Apache其它開源】
Commons IO是Jakarta Commons項目的一個子項目。用來幫助進行IO功能開發.它包含三個主要的領域:Utility classes-提供一些靜态方法來完成公共任務.Filters-提供檔案過濾器的各種實作.Streams-提供實用的Stream,reader與writer實作.
Datastream Pro 【Java開源 SQL用戶端】
Datastream Pro是一個資料庫"浏覽器"和資料操作工具.它易于使用,可靠,穩定,操作直覺。Datastream Pro支援所有相容JDBC的資料庫(已經在Oracle,MySQL,postgreSQL和HSQLDb上測試成功).利用它可以浏覽與編輯資料庫中的資料,可在一個友好的界面中運作與編輯SQL腳本,可使用查詢編輯器來編輯SQL查詢,可同時連接配接到多個資料庫和易于使用的連接配接向導等。
Viento 【Java開源 模闆引擎】
Viento是一個用Java開發的模闆語言。它在語句構成上很多情形下有點類于Velocity 。
JBoss Microcontainer 【Java開源 IOC容器】
JBoss Microcontainer是一個輕量級IOC容器,它的思想類似于Spring,Pico Container與Plexus。JBoss Microcontainer可被用在任何應用程式中而不需要JBoss應用伺服器。 它是JBoss Seam和JBoss Embeddable EJB 3.0項目的基礎支柱。這裡有一篇英文簡介文章。
RadRails 【Java開源 Eclipse插件】
RadRails是一個Ruby on Rails架構的IDE。Eclipse更新站點為[url]http://www.radrails.org/update[/url]。
opencsv 【Java開源 其它開源項目】
opencsv一個簡單的CSV解析Java包。
Bugzilla 【Java開源 Bug追蹤系統】
Bugzilla是一個Bug追蹤系統設計用來幫助你管理軟體開發。
WebMacro 【Java開源 模闆引擎】
WebMacro是一種Java開源的模闆語言。對于表現web頁面,它比JSP,PHP,與ASP效率更高。WebMacro是一些大網站背景的頁面生成技術。
ECP 【Java開源 Eclipse插件】
Eclipse CORBA Plugin (ECP)提供一個可針對CORBA IDL檔案文法進行着色的編輯器。
RDT 【Java開源 Eclipse插件】
RDT是一個用于Ruby開發的Eclipse插件.它提供的功能包括:文法高亮顯示,快速文法分析,圖形大綱,單元測試,内容提示,源碼格式和一個正規表達式插件等。
Commons-Email 【Java開源 Apache其它開源】
Commons-Email的目的是提供一組用于發送Email的API,它基于Java Mail API基礎之上并進行了簡化。它提供的主要Java類有:SimpleEmail:這個類用于發送簡單的文本類型email。MultiPartEmail:這個類允許發送文本消息并附帶附件。HtmlEmail:用于發送Html格式的附件并支援内含圖檔。EmailAttachment:這是一個簡單的容器類用于簡化附件的處理。
UISpec4J 【Java開源 Java測試工具】
UISpec4J是專門用于Swing應用程式單元測試的一個開源元件,它建構在JUnit測試套件的基礎之上.UISpec4J讓Java GUI測試變得很簡單.它的特殊之處在于它的APIs設計成盡可能地隐藏Swing的複雜性,是以易于測試腳本的讀與寫.以下這它的簡單例子:
public void testContacts() {
Table contacts = getMainWindow().getTable();
contacts.assertContentEquals(new Object[][]{
{"John", "12", Boolean.FALSE},
{"Sylvia", "43", Boolean.TRUE},
{"Bill", "31", Boolean.FALSE}
});
}
e-Gen Developer 【Java開源 開發工具】
e-Gen Developer是一個快速應用程式開發(RAD)環境。利用它能夠進行Web應用程式的高産開發。e-Gen Developer完全采用Java開發并基于JSF2.8與Struts架構。e-Gen的主要目的是克服IT管理所面對的一些相關挑戰如:提高開發效率,減少維護成本與減少訓練團隊成員所需要的時間。
JavaGroups 【Java開源 網絡伺服器】
JavaGroups是一個群組通訊工具包。它基于IP多點傳播(multicast),但利用可靠性與群組從屬關系對它進行擴充。
UIState 【Java開源 其它開源項目】
UIState是一個非侵入式的使用者界面狀态(state)管理器用于Java Swing胖用戶端應用程式中.UIState允許應用程式恢複它們的GUI狀态當應用程式在使用或在多個應用程式之間進行對話時.比如:假如你的應用程式使用JInternalFrame來顯示MDI界面的時候,UIState将會為你管理frame的位置和大小.
XINS 【Java開源 其它開源項目】
XINS是一項規範技術用于定義,建立和調用遠端APIs。當API規範在XML文檔中定義好之後,XINS将會把它們轉換成包括用戶端與服務端的HTML文檔與Java代碼.XINS将與複雜的SOAP技術競争,因為它被設計得具有簡單性,可擴縮性與可測試性。簡要地說就是:SOA+Java+XML+ 代碼生成-複雜性 => XINS。
Fujaba Tool Suite 【Java開源 UML模組化】
Fujaba Tool Suite結合UML類圖與UML行為視圖來提供一個強大,易于使用,而且是整齊均稱的系統設計與規範語言. 而且Fujaba Tool Suite還支援從整個系統設計生成Java源代碼從完美地實作了一個可執行的模型.同樣也支援相反操作,是以源代碼可以被解析并被表現在UML中.
EJOE 【Java開源 網絡伺服器】
EJOE是一個輕量級C/S(client/server)元件用于發送與接收Java對象通過使用外挂式的序列化(serializing)機制.EJOE提供三種功能:1.一個多線程,高性能的網絡IO伺服器和一個相應的用戶端元件。2.序列化所有通過用戶端發送的輸入對象和由你商業邏輯提供的傳回對象。3.提供一個簡單,清晰,唯一的接口來把一個對象請求代理內建到你的應用程式中。
JWP 【Java開源 其它開源項目】
Java Web Parts為所有Web應用程式開發者提供了一些可以重複使用和幾乎互相獨立的Java元件。你可以把這個項目想象成類似于Jakarta Commons項目。JWP包括以下這些元件:AjaxTags一個标簽庫可以為一個頁面輕松地添加AJAX 功能而幾乎不用改變現存的JSP代碼。DependencyFilter:這個一個簡單易用并且是基于declarative(聲明)模式的靈活IoC元件。此外它還包括一些過濾器(比如: CompressionFilter,SessionLimiterFilter,
RequestRecorderFilter,AppAvailabilityFilter,
ParameterMungerFilter等),各種用來處理Request, Response與Session的工具類與其它其它一些标簽庫。
Jencks 【Java開源 其它開源項目】
Jencks是一個輕量級的JCA容器。它可以輕松部署到Spring中以提供消息驅動的POJOs.此外Jencks通過使用類似于JMS,JAX-RPC,JBI與JCA CCI的API來提供對inbound與outbound消息的支援,同時還提供一個基于XA的JDBC連接配接池機制。
Celtix 【Java開源 企業應用內建(EAI)】
Celtix提供了一個運作期Java企業服務總線和一組可擴充的API.通過使用一個基于标準的,面向服務的體系來簡化商業與技術元件的建構,內建和靈活重複使用。
Seam 【Java開源 J2EE架構】
Seam是一個Java EE 5架構。它通過把JSF與EJB3.0元件合并在一起,進而為開發基于Web的企業應用程式提供一個最新的模式。Seam可以讓你把EJB元件直接綁定到JSF頁面。Seam還可幫助你把jBPM流程定義直接地內建到你的應用程式中。
Saxon 【Java開源 其它開源項目】
Saxon是一個開源的XSLT與XQuery處理器.
AjaxAnywhere 【Java開源 AJAX開發】
AjaxAnywhere被設計成能夠把任何一套現存的JSP元件轉換成AJAX感覺元件而不需要複雜的JavaScript編碼.它利用标簽把Web頁面簡單地劃分成幾個區域,然後使用AjaxAnywhere來重新整理那些需要被更新地區域.
Tapestry Palette 【Java開源 Eclipse插件】
Tapestry Palette建構在Spindle插件的基礎上.這個插件為Tapestry開發者提供了以下功能:以tree-view的方式來顯示在一個項目中所用到的元件.可從tree-view拖放元件到一個頁面中.可從遠端以拖放的方式下載下傳和安裝元件并可直接使用.它還提供一個用于編輯元件參數的property sheet等這裡有一個展示該插件功能的Flash.
EasyEclipse 【Java開源 開發工具】
EasyEclipse這是一個把EclipseIDE與一些關鍵的開源插件分類打包在一起.以使得Eclipse更易于下載下傳,安裝,使用.以下是它目前提供的分類組合.
相應的包
版本 日期 下 載
EasyEclipse Core EasyEclipse 0.8.1 based on Eclipse 3.1M6 - preview 2005/6/23 下 載
Extensions-Application Servers JBoss IDE & XDoclets support for EasyEclipse 0.8.0 - version 1.4.1 2005/6/13 下 載
Extensions-Building/Deploying FatJar Jar exporter for EasyEclipse 0.8.0 - version 0.0.18 2005/6/6 下 載
Extensions-Core Libraries Eclipse Tools (EMF, XSD, SDO, GEF, JEM) for EasyEclipse 0.8.0 2005/6/13 下 載
Extensions-Databases Hibernate Tools for EasyEclipse 0.8.0 - version 3.0 Alpha1 2005/6/13 下 載
Extensions-Editing Eclipse Colorer Editor for EasyEclipse 0.8.0 & 0.9.0 - version 0.7.1 2005/8/8 下 載
Extensions-GUI Builders Eclipse Visual Editor for EasyEclipse 0.8.0 - version 1.0.0M4 2005/6/13 下 載
Extensions-Language:AspectJ Eclipse AspectJ for EasyEclipse 0.8.0 - version 1.2.0 2005/6/13 下 載
Extensions-Language:C/C++ Eclipse C/C++ Development Tool for EasyEclipse 0.8.0 - version 3.0.0M6 2005/6/13 下 載
Extensions-MVC Web Frameworks Strutsbox for EasyEclipse 0.8.0 - version 1.0b 2005/6/13 下 載
Extensions-Plug-in Development Eclipse Plug-in Development Environment for EasyEclipse 0.8.0 - version 3.1M6 2005/6/13 下 載
Extensions-Utilities Regex-Regex Tester for EasyEclipse 0.8.0 - version 1.0.0 2005/6/13 下 載
Extensions-Version Control Subclipse with JavaSVN for EasyEclipse 0.8.0 - versions 0.9.30 2005/6/13 下 載
Extensions-Web Development Eclipse Web Tools for EasyEclipse 0.8.0 - version 1.0.0M4 2005/6/13 下載下傳
JBossProfiler 【Java開源 剖析工具(Profiler)】
JBossProfiler是一個利用JVMPI系統基于log的剖析器。它使用一個C開發的代理從JVM捕獲事件并把它們記錄到磁盤中。一個運作在JBoss或其它機器上的Web應用程式可被用來分析這些日記。
Yoix 【Java開源 腳本語言】
由AT&T實驗室研究的Yoix腳本語言是一個多用途的(general-purpose)程式設計語言.它使用C與Java開發人員所熟悉的的文法和函數.它不是一個面向對象語言,但利用超過150種對象類型來提供對大多數标準Java classe的通路.由于Yoix的解釋器(interpreter)完全使用純Java技術進行建構,是以也能夠利用Yoix開發具有跨平台,網絡與線程能力的應用程式,還可用于開發GUI應用程式.Yoix語言特性包括指針,尋址,聲明,全局與局部變量.
SwiXAT 【Java開源 XML使用者界面工具包】
SwiXAT是一個基于Swing的XUL架構用于快速和簡化GUI Java應用程式開發.它實作了一個真正的MVC架構,其中利用XML來定義表現層(SwiXml作為XUL引擎),而BeanShell腳本語言用做控制器,并利用JXPath作為view與model之間的綁定機制.
ICM 【Java開源 内容管理系統(CMS)】
ICM(Instant Content Management )是一個開源的Web内容管理系統. 最終使用者可以編輯自己的首頁以所見即所得的方式.而web設計者有更進階的管理選項并可使用各種标準模闆語言來組合一個站點.
Connla 【Java開源 PDF類庫】
Connla是一個Java包用于建立可導成TXT,CSV,HTML,XHTML,XML,PDF和XLS等格式的資料集。
Webcockpit 【Java開源 其它開源項目】
Webcockpit是一個web應用程式生成器。它能夠生成包含圖形(使用JFreeChart 和Cewolf)與HTML表格的完整JSP Web應用程式。圖表與表格的内容來自SQL查詢。Webcockpit從一個XML配置檔案生成JSP頁面。
Jen 【Java開源 位元組碼操作】
Jen為位元組碼操作與生成提供一組進階API.利用它可以對Java classe進行重命名,把一個資料成員(Field)改成Public通路權限和新增一個建構函數等操作。Jen基于ASM2.1并完全支援Java5注釋(annotations)與範型(Generics)。此外它還提供一組額外的工具類用于在運作期生成新的classes。
JyDT 【Java開源 Eclipse插件】
Jython開發工具。
CDT 【Java開源 Eclipse插件】
C/C++在Eclipse平台下的開發工具.它提供的功能包括:C/C++編輯器(一些基本的功能:文法高亮顯示,代碼編輯等),C/C++調試器,C/C++ Launcher,剖析器,内容提示,Makefile生成器等。
EclipseWork 【Java開源 Eclipse插件】
EclipseWork是一個用于開發WebWork的一個插件.它有很多向導用于建立WebWork Action和利用Hibernate與Prevayler來為應用程式添加增删改查(CRUD)功能.EclipseWork還能生成JSP,Velocity和Freemarker代碼.EclipseWork還是一個可擴充的插件你可以編寫自己的Eclipse向導而不需要了解Eclipse插件API,你所要做地隻是編輯XML和用于生成代碼的Velocity模闆.EclipseWork将會解析XML并打開這個自定義的向導.在它首頁上還提供許多Flash教程。
FacesIDE 【Java開源 Eclipse插件】
FacesIDE是一個用于開發JSF的Eclispe插件.它可以可視化編輯faces-config.xml檔案并且提供代碼編輯與校驗,預覽JSF的JSP檔案.FacesIDE包含MyFaces來作為JSF的實作.這個插件類似于StrutsIDE.
JDOInstruments 【Java開源 資料庫】
JDOInstruments是一個用Java開發的嵌入式面向對象資料庫.它還實作了Sun的JDO規範用于Java對象的透明持久化.它可運作在windows2000, windows2003 64bits,和Linux(Fedora Core2)平台上.
EPIC 【Java開源 Eclipse插件】
EPIC是一個開源的Perl開發工具.支援文法高亮顯示,快速文法檢查,内容幫助,perldoc支援,源碼格式,模闆支援和一個Perl調試器.
GeoAPI 【Java開源 其它開源項目】
GeoAPI為OpenGIS規範提供一組Java接口。
FINA 【Java開源 其它開源項目】
FINA是一個三層J2EE應用程式用于從一些金融機構(如銀行,投資公司等)接收資料,然後把資料存儲到DB (Oracle/MSSQL/DB2)資料庫中并生成相應的報表. FINA是一個完全可定制的和綜合的強大報表設計器.
XSM 【Java開源 内容管理系統(CMS)】
XSM(eXtensible Site Manager)下一代的web網站管理系統。它能夠讓使用者輕松地線上管理它們的網站,并同時在伺服器上維護一個靜态的網站。
QOLdap 【Java開源 Eclipse插件】
QOLdap是一個Eclipse平台下LDAP目錄浏覽器.
JDots 【Java開源 其它開源項目】
JDots(Java Dynamic Object Tree System)是一個很小的Java包,它能夠讓Java開發者建構一棵Java對象樹,這些對象之間還可互相通信.一個對象可以發送一個方法調用到它的父節點或子節點對象.參數隻能是可包含任何資料格式的TagLists類型.
MiddlegenIDE 【Java開源 Eclipse插件】
MiddlegenIDE是一個Middlegen在Eclipse下的插件,它可生成映射檔案,JavaBean源碼,配置檔案和導入相關的jar.而你所要做的隻是配置好資料庫連接配接資訊和選擇要生成映射檔案與Java類的資料庫表.MiddlegenIDE目前版本隻支援生成Hibernate映射檔案與JavaBean源碼.
Stripes 【Java開源 Web架構】
Stripes是一個視圖架構用于利用最新的Java技術來建構Web應用程式.它具有以下特點:不需要對每一page/action進行映射配置(ActionBeans将自動被發現,它利用注釋進行配置),強大的綁定引擎用于建構複雜并脫離請求參數(request parameter)的web對象,易于使用并可本地化的驗證與類型轉換系統.可重複使用ActionBean作為視圖幫助類.支援一個form對應多個事件.透明的檔案上傳能力.支援持續開發(比如在構思你的ActionBean之前可以先建構與測試JSP)等.
Flow4J 【Java開源 工作流(Workflow)】
Flow4J是一個可在Eclipse平台下以拖放的方式進行工作流模組化的插件.一個工作流程可包含許多流程步驟(在該項目中叫作flowlet),然後這些步驟可接連在一起組合成複雜的流程.所有流程将包含以下兩種類型的flowlet:Control Flowlets如開始,判斷與跳轉Flowlets這些将在Eclipse中配置.另一種類型是Task Flowlets:它是一個包含特定任務的Java類,包含的功能可以是任何事件的如EJB調用或JNI調用,這些任務還可用一些腳本語言如Jython,Groovy,JavaScript等來進行開發.當在Eclipse中設計完這些流程之後,所有流程的Java源代碼将自動建立.
Crispy 【Java開源 Web服務】
利用Crispy提供的一個統一接口,你可以調用RMI,WebService,REST,XML-RPC,EJB,Burlap,Hessian等其它服務.你不需要知道這些服務是怎樣工作的,要調用的服務類型可在properties檔案中定義.遠端調用就像簡單Java對象調用一樣,你可以把Crispy內建到一個SOA(Service Oriented Architecture)或RCP(Rich Client Platform)中.
XRadar 【Java開源 項目管理】
這是一個軟體開發狀況(包括版本,時間,測試,效率,程式代碼等等)分析工具. 它會将其繪制成圖表來分析,并可以以時間軸輸出HTML/SVG報表.
XMoon 【Java開源 Web架構】
XMoon擴充自Jakarta Struts架構用于開發處理基于XML或一些腳本語言(如: BeanShell, JRuby, JudoScript, Jython,Rhino)的Web應用程式.它還提供一個用于展示該架構寵物店Demo.
Voice Tools project 【Java開源 Eclipse插件】
它為JSP/J2EE領域中的Voice Application提供一組基于Eclipse的開發工具.
Red-Piranha 【Java開源 搜尋引擎】
Red-Piranha是一個開源搜尋系統,它能夠真正"學習"你所要查找的是什麼.Red-Piranha可作為你桌面系統(Windows,Linux與Mac)的個人搜尋引擎,或企業内部網搜尋引擎,或為你的網站提供搜尋功能,或作為一個P2P搜尋引擎,或與wiki結合作為一個知識/文檔管了解決方案,或搜尋你要的RSS聚合資訊,或搜尋你公司的系統(包括SAP,Oracle或其它任何Database/Data source),或用于管理PDF,Word和其它文檔,或作為一個提供搜尋資訊的WebService或為你的應用程式(Web,Swing,SWT,Flash,Mozilla-XUL,PHP, Perl或c#/.Net)提供搜尋背景等等.
Logisim 【Java開源 其它開源項目】
Logisim是一個教學工具用于設計和模拟數字邏輯電路.
xalan 【Java開源 XML解析】
xalan-java是一套xslt處理器,用來将XML檔案轉換為HTML,TEXT和XML等其他類型檔案格式。支援XSLT1.0和XPATH 1.0版。開發人員可以通過指令行方式或在JAVA APPLET和SERVLET中使用,并可以作為自己開發的應用程式的類庫使用。xalan-java實作的是transformation API for XML(TRaX)接口,此接口為jaxp1.2标準中的一部分。
Java SNMP Package 【Java開源 網絡用戶端】
這是一個實作了SNMP協定的Java包.它提供對基本的SNMP用戶端與在SNMP版本1和2中定義的代理操作的支援.這個包提供了一種機制用于取得與設定SNMP對象辨別(OID:object identifier)值通過一個簡單的通信接口并可用于描述SNMP結構等.
Cobertura 【Java開源 Eclipse插件】
Cobertura是一個基于jcoverage的免費Java工具,它能夠顯示哪一部分代碼被你的測試所覆寫,并可生成HTML或XML報告.
Jeceira 【Java開源 内容管理系統(CMS)】
Jeceira是一個實作了JSR 170規範的内容管理系統.
JBWIKI 【Java開源 Wiki引擎】
一個JBoss實驗室項目用于建立符合JSR 168規範的Wiki.它已被用于增強JBoss Portal項目。
Woodstox 【Java開源 XML解析】
Woodstox是一個快速開源且符合StAX(STreaming Api for Xml processing)規範的XML處理器(做為一個處理器意味着它可以處理輸入(相當于解析)與輸出(相當于寫入,序列化))。
Jiplet Container 【Java開源 網絡伺服器】
Jiplet是Java SIP Servlet的簡寫,Jiplet Container是一個開源的服務端SIP應用程式容器.Java開發者可以利用Jiplet API來開SIP應用程式并把程式部署到Jiplet容器中.SIP (Session Initiation Protocol)被廣範用于通過網際網路提供電話服務.這個容器為開發,部署和運作SIP應用程式提供了一個類似于Java Servlet的開發與運作環境.它的許多特性都非常類似于Java Servlet容器包括支援servlet映射(servlet mapping),範圍變量(scoped variables),上下文處理(context handling)等. 另外還有一個用于測試SIP應用程式的開源項目SipUnit
Tudu Lists 【Java開源 項目管理】
Tudu Lists是一個日程(todo list)管理J2EE應用程式.它基于JDK5.0,Spring,Hibernate,和DWR AJAX架構.Tudu Lists同樣也是一個簡單但實效的項目管理工具.
jCookie 【Java開源 其它開源項目】
jCookie是一個免費,開源的Java包用于Java用戶端cookie處理.用戶端HTTP狀态管理(或cookie處理)對于那些需要與Web應用程式如email或線上銀行服務進行互動的Java應用程式是非常重要的.
MrPostman 【Java開源 Email用戶端】
MrPostman是一個email網關,它使你能夠直接從自己喜歡的Email用戶端(如: Outlook Express,Thunderbird等)通路Yahoo Mail,Hotmail,gmail(Google mail)和其它webmail服務.它被設計成可擴充,是以可以很容易地添加更多的web mail服務.MrPostman還支援RSS新聞簡讀.
Deep Network Analyzer (DNA) 【Java開源 網絡伺服器】
Deep Network Analyzer(DNA)是一個靈活的,可擴充的深度網絡分析器(伺服器軟體)與架構,它可收集和分析網絡資料包,網絡對話(sessions)與應用層協定(HTTP,DNS,P2P,VoIP等),被動地隔離企業級網絡.DNA主要設計用于Internet安全,入侵探測,網絡管理,協定與網絡分析,資訊搜集,網絡監測應用程式