Java常用開源類庫__Java

來源:互聯網
上載者:User

Jakarta common:

 Commons Logging
Jakarta Commons Logging (JCL)提供的是一個日誌(Log)介面(interface),同時兼顧輕量級和不依賴於具體的日誌實現工具。 它提供給中間

件/日誌工具開發人員一個簡單的日誌操作抽象,允許程式開發人員使用不同的具體日誌實現工具。使用者被假定已熟悉某種日誌實現工具的更進階

別的細節。JCL提供的介面,對其它一些日誌工具,包括Log4J, Avalon LogKit, and JDK 1.4等,進行了簡單的封裝,此介面更接近於Log4J和

LogKit的實現.

 Commons-Latka
Commons-Latka 是一個HTTP 功能測試包,用於自動化的QA,驗收和衰減測試.

 Commons-Pool
Commons-Pool 提供了通用對象池介面,一個用於建立模組化對象池的工具包,以及通常的對象池實

 Commons-Math
Math 是一個輕量的,自包含的數學和統計組件,解決了許多非常通用但沒有及時出現在Java標準語言中的實踐問題.

 Commons-Jelly
Jelly能夠把XML轉換成可執行代碼,所以Jelly是一個基於XML與Java的指令碼和處理引擎。 Jelly借鑒了JSP定指標籤,Velocity,

Cocoon和Xdoclet中的指令碼引擎的許多優點。Jelly可以用在命令列,Ant或者Servlet之中。

 Commons-FileUpload
FileUpload 使得在你可以在應用和Servlet中容易的加入強大和高效能的檔案上傳能力.

 Commons-BeanUtils 
Commons-BeanUtils 提供對 Java 反射和自省API的封裝

 Commons-Chain
Chain 提供實現組織複雜的處理流程的“責任鏈模式”.

 Commons-Codec
Codec 包含一些通用的編碼解碼演算法。包括一些語音編碼器, Hex, Base64, 以及URL encoder.

 Commons-Collections
Commons-Collections 提供一個類包來擴充和增加標準的 Java Collection架構

 Commons-Discovery
Commons-Discovery 提供工具來定位資源 (包括類) ,通過使用各種模式來映射服務/引用名稱和資源名稱。

 Commons-EL
Commons-EL 提供在JSP2.0規範中定義的EL運算式的解譯器.

 Commons-Jexl
Jexl是一個運算式語言,通過借鑒來自於Velocity的經驗擴充了JSTL定義的運算式語言。.

 Jakarta Commons HttpClient
HttpClient作為HTTP用戶端組件與伺服器進行通訊,同時使用了jdom進行XML資料的解析。

 Jakarta Commons Net
一個用於操作Internet基礎協議(Finger,Whois,TFTP,Telnet,POP3,FTP,NNTP,以及SMTP)的底層API。Net包不僅支援對各種低層次協

議的訪問,而且還提供了一個高層的抽象。它使得開發人員不再需要直接面對各種協議的Socket級的低層命令。

 Commons-Configuration
Commons-Configuration 工具可以從
*Properties檔案 
*XML檔案 
*JNDI 
*JDBC 資料來源 
*System properties 
*Applet parameters 
*Servlet parameters等來讀取相應的資訊

 Commons-validator
commons-validator提供了一個簡單的,可擴充的架構來在一個XML檔案中定義校正器 (校正方法)和校正規則。支援校正規則的和錯誤訊息的國

際化。

 Commons-Digester
Digester基於規則的XML文檔解析,主要用於XML到Java對象的映射.

 Commons Betwixt
Commons Betwixt這個組件提供一個XML自省(introspection)機制用來把Java Bean映射到XML文檔.他實現了與標準的Introspector及BeanInfo

類相似的XMLIntrospector及XMLBeanIfno類.

 Commons-Convert
Commons-Convert的目標是提供一個簡單的包來完成把一種類型的對象轉換成另一種.但它目前只支援String到Object或Object到String的轉換.

 Commons4E
這個Eclipse外掛程式方便了利用Jakarta Commons組件所進行地開發.Commons4E根據使用者選擇的欄位(fields)利用commons-lang builders來自動生

成以下方法:toString(),hashcode(),equals(Object)和compareTo(Object).

 Commons-Email
Commons-Email的目的是提供一組用於發送Email的API,它基於Java Mail API基礎之上並進行了簡化。它提供的主要Java類有:SimpleEmail:

這個類用於發送簡單的文本類型email。MultiPartEmail:這個類允許發送簡訊並附帶附件。HtmlEmail:用於發送Html格式的附件並支援

內含圖片。EmailAttachment:這是一個簡單的容器類用於簡化附件的處理。

 Commons-IO
Commons IO是Jakarta Commons項目的一個子項目。用來協助進行IO功能開發.它包含三個主要的領域:Utility classes-提供一些靜態方法來

完成公用任務.Filters-提供檔案過濾器的各種實現.Streams-提供實用的Stream,reader與writer實現.
-----------------------------------------------------------------------------

ANother Tool for Language Recognition(ANTLR):它的描述語言可以產生詞法分析器、文法分析器與語義分析器,也就是說,我們可以用它

來識別加工不同的語言(編譯器的編譯器)。它同時支援3大類語言的輸出:C++, Java, C#(按照生日排序),也就是說,我們可以利用它來

用C#產生編譯器,它是這樣的一種工具,它可以接受詞文法語言描述,並能產生識別這些語言的語句的程式。作為翻譯程式的一部分,你可以使用

簡單的操作符和動作來參數化你的文法,使之告訴ANTLR怎樣去建立抽象文法樹(AST)和怎樣產生輸出。ANTLR知道怎樣去產生識別程式,語言套件

括Java,C++,C#. 。類似的還有coco/r 。

cglib是一個強大的,高效能,高品質的Code產生類庫。它可以在運行期擴充Java類與實現Java 介面。Hibernate用它來實現PO位元組碼的動態產生

。 首頁 http://cglib.sourceforge.net


c3p0-0.8.4.5.jar

c3p0是一個容易使用的java庫,用於擴充傳統的基於驅動管理的JDBC驅動和JNDI綁定資料來源,包括執行Connection和Statement Pooling的資料

源。


cleanimports是對java檔案中的無用的imports作清理,並通過設定檔提供的格式對imports程式碼片段進行格式整理。

concurrent-1.3.2.jar

concurrent包提供標準化、高效的版本的實用的類,用於並行的Java程式。
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html

 


connector.jar
JCA(J2EE Connector Architecture)規範的包

 

dom4j-1.5.2.jar
Dom4J是一個在Java平台上使用Java Collections Framework與XML、 XPath和XSLT協同工作的開源Java庫,它全面支援DOM、SAX和JAXP。

ehcache-1.1.jar

EHCache 是一個純java的在進程中的緩衝,它具有以下特性:快速,簡單,為Hibernate2.1充當可插入的緩衝,最小的依賴性,全面的文檔和

測試。
官方網站 http://ehcache.sourceforge.net/

 

jaxen-1.1-beta-4.jar
jaxen是一個用Java開發的XPath 引擎,用於配合各種基於XML的物件模型,如DOM, dom4j ,JDOM以及Java Beans。
jboss-cache.jar
JBossCache是一個複製的交易處理緩衝,它允許你緩衝企業級應用資料來更好的改善效能。快取資料被自動複製,讓你輕鬆進行JBoss伺服器之

間的叢集工作。JBossCache能夠通過JBoss應用服務或其他J2EE容器來運行一個MBean服務,當然,它也能獨立運行。
JBossCache包括兩個模組:TreeCache和TreeCacheAOP。
TreeCache --是一個樹形結構複製的交易處理緩衝。
TreeCacheAOP --是一個“物件導向”緩衝,它使用AOP來動態管理POJO(Plain Old Java Objects)
註:AOP是OOP的延續,是Aspect Oriented Programming的縮寫,意思是面向方面編程。
官方網站 http://www.jboss.org/products/jbosscache
jboss-jmx.jar
JMX(Java Management Extensions)是一個為應用程式植入管理功能的架構。JMX是一套標準的代理和服務,實際上,使用者可以在任何Java應用

程式中使用這些代理和服務實現管理。

 

oscache-2.0.2.jar
OSCache是個一個廣泛採用的高效能的J2EE緩衝架構,OSCache能用於任何Java應用程式的普通的緩衝解決方案。
OSCache有以下特點:
緩衝任何對象,你可以不受限制的緩衝部分jsp頁面或HTTP請求,任何java對象都可以緩衝。
擁有全面的API--OSCache API給你全面的程式來控制所有的OSCache特性。
永久緩衝--緩衝能隨意的寫入硬碟,因此允許昂貴的建立(expensive-to-create)資料來保持緩衝,甚至能讓應用重啟。
支援叢集--叢集快取資料能被單個的進行參數配置,不需要修改代碼。
緩衝記錄的到期--你可以有最大限度的控制緩衝對象的到期,包括可插入式的重新整理策略(如果預設效能不需要時)。
官方網站 http://www.opensymphony.com/oscache/


proxool-0.8.3.jar
Proxool是Java資料庫連接池,它能向存在的JDBC驅動中透明的增加資料庫連接池。


swarmcache-1.0rc2.jar
SwarmCache是一個簡單且有效分布式緩衝,它使用IP multicast與同一個區域網路的其他主機進行通訊,是特別為叢集和資料驅動web應用程式

而設計的。SwarmCache能夠讓典型的讀操作大大超過寫操作的這類應用提供更好的效能支援。
SwarmCache使用JavaGroups來管理從屬關係和分布式緩衝的通訊。
官方網站 http://swarmcache.sourceforge.net


xalan-2.6.jar
Xalan名稱來自於一種罕見的樂器。

Xalan-Java是一個將XML轉換成HTML、text或其他XML檔案類型的XSLT(XSL Transformations)處理機制。它使用XSL Transformations (XSLT)

Version 1.0 and XML Path Language (XPath) Version 1.0。它在命令列方式、applet、servlet、或其他程式的模組中都可以使用。
Xalan同時構建於SAX2和DOM level 2上。

官方網站;http://xml.apache.org/xalan-j/

xerces-2.6.2.jar

Xerces(名稱來源於一種叫Xerces

Blue的蝴蝶)提供世界級的XML解析和產生。充分驗證的文法分析可用於Java和C++,執行W3C的XML和DOM(Level1 and

2)標準,以及SAX(version 2)標準。其文法具有高模組化和可配置化。同時提供支援XML Schema(W3C標準草案)。


checkstyle檢查java程式原始碼編碼風格的,是java程式員不可或缺的工具,用以檢查自己的編碼習慣是否符合公司的要求或sun的約定。當然

如果你用了ide,那裡可能有相應的功能或外掛程式來協助程式員來完成這項工作。也如checkstyle其名所示,它只檢查,不進行beautifier操作。

所以,它應比較適合用於專案管理,用於dailybuild.如果你想藉助工具來beautifier你的java原始碼,可以參考我寫的jalopy安裝使用.


Clickstream:它是一個JavaServlet過濾器,用來跟蹤使用者請求(比如:點擊)和請求 隊列(比如:點擊流)以向網路系統管理員顯示誰在她的網

站上以及每個使用者正在訪問那個頁面。 http://www.opensymphony.com/clickstream/


Cargo是一個Java類包用來操作當前J2EE容器.它提供了Ant和Maven API來停止/啟動/配置Java容器也提供了Java API來解釋/建立J2EE組件.


DbUnit是為資料庫驅動的項目提供的一個對JUnit 的擴充,除了提供一些常用功能,它可以將你的資料庫置於一個測試輪迴之間的狀態。

iText是一個能夠快速產生PDF檔案的java類庫。iText的java類對於那些要產生包含文本,表格,圖形的唯讀文檔是很有用的。它的類庫尤其與

java Servlet有很好的給合。使用iText與PDF能夠使你正確的控制Servlet的輸出。

DWR(Direct Web Remoting)是一個WEB遠程調用架構.利用這個架構可以讓AJAX開發變得很簡單.利用DWR可以在用戶端利用JavaScript直接調用

服務端的Java方法並傳回值給JavaScript就好像直接本地用戶端調用一樣(DWR根據Java類來動態產生JavaScrip代碼).它的最新版本DWR0.6添加

許多特性如:支援Dom Trees的自動設定,支援Spring(JavaScript遠程調用spring bean),更好瀏覽器支援,還支援一個可選的commons-logging日

記操作.

 

 Java2Html 能夠的把java原始碼轉換為高亮有序的HTML, RTF, TeX 與 XHTML格式。這個開源項目有一個java applet 與許多外掛程式以便能夠與

其它系統很好的給合。

jMock利用mock objects思想來對Java code進行測試。jMock具有以下特點:容易擴充,讓你快速簡單地定義mock objects,因此不必打破程式間

的關聯,讓你定義靈活的超越對象之間互動作用而帶來測試局限,減少你測試地脆弱性。

 

PMD是一個Java源碼分析器。它可以發現不需要使用的變數,空的Catch塊和不需要建立的對象等。它還包含一個CPD工具可以探測一塊代碼中相

同的部分。

 

OS(OpenSymphony)的SiteMesh是一個用來在JSP中實現頁面配置和裝飾(layout and decoration)的架構組件,能夠協助網站開發人員較容易

實現頁面中動態內容和靜態裝飾外觀的分離。

 

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,它也可以被當作一個獨立工具來產生原始碼和報告,或者作為其他系統的整合組件使用。Vel

ocity也可以為Turbine web開發架構提供模板服務(template service)。Velocity+Turbine提供一個模板服務的方式允許一個web應用以一個

真正的MVC模型進行開發。 【VeloEclipse :Velocity在Eclipse平台下的一個輔助開發外掛程式】

Jakarta ORO一套文本處理工具,能提供perl5.0相容的Regex,AWK-likeRegex, glob運算式。還提供替換,分割,檔案名稱過慮等功能.


caucho:
Burlap是一個輕量級的XML RPC協議.利用Burlap Web服務合約使用Web服務不需要大型的架構也不用學習其它協議字母湯(alphabet soup).

Caucho Resin提供了最快的jsp/servlets運行平台。它支援Servlet,XSL Filtering6並且具備XSLT和XPath1.0引擎。

Hessian也是一個輕量級的,自訂描述的二進位RPC協議.因為它是一個二進位協議,所以它很適合於發送位元據而需要使用其它附件來擴充

這個協議.

-----------------
cos上傳組件它是著名O'Reilly的圖書出版公司開發的。這個上傳的組件做得很棒。


EasyMock為Mock Objects提供介面並在JUnit測試中利用Java的proxy設計模式產生它們的執行個體。EasyMock最適合於測試驅動開發。

FreeMarker允許Java servlet保持圖形設計同應用程式邏輯的分離,這是通過在模板中密封HTML完成的。模板用servlet提供的資料動態地產生

HTML。範本語言是強大的直觀的,編譯器速度快,輸出接近靜態HTML頁面的速度。

Jamon是一個Java文本模板引擎,用於產生動態HTML, XML,或任何基於文本的內容。它有一個豐富的功能集,支援封裝,參數化,功能分解,表

達邏輯重用。模板聲明它們要求產生的參數,包括動態模板內容("fragments"),並被翻譯成帶有公有方法的Java類,它的符號反映了在模板中

聲明的參數。


JasperReports是一個基於Java的開源報表工具,它可以在Java環境下像其它IDE報表工具一樣來製作報表。JasperReports支援PDF、HTML、XLS

、CSV和XML檔案輸出格式。JasperReports是當前Java開發人員最常用的報表工具。
Java Excel API(JXL)是一個成熟,開源的Excel試算表讀取,修改,寫入的項目。Java開發人員利用它簡單,便利的API就能夠讀取Excel電子

表格,進行修改並能夠把修改後的變化寫到任何output stream中(如:Disk, HTTP, database, 或任何socket),這個項目基於GPL發布,而且對中

文有很好的支援。
● 支援字型、數字、日期操作
● 能夠修飾儲存格屬性
● 支援映像和圖表

 

JOTM 是一個基於Java開放原始碼的交易處理管理器。它遵循JTA APIs規範與Business Transaction Protocol(BTP)規範以提供了對Web

Service的支援。

ObJectRelationalBridge-OJB是基於XML的對象/關係映射工具.OJB提供一些進階的特性如:對象緩衝,消極式載入,利用交易隔離等級的結構進行分

布式管理,支援悲觀與樂觀鎖.OJB還提供了一個靈活的配置與外掛程式機制以便可以擴充加入自己的功能.

Jakarta POI可以讓你使用Java來讀寫MS Excel ,Word檔案


Quartz是OpenSymphony開源組織在Job scheduling領域又一個開源項目,它可以與J2EE與J2SE應用程式相結合也可以單獨使用。Quartz可以用來

建立簡單或為運行十個,百個,甚至是好幾萬個Jobs這樣複雜的議程序表。Jobs可以做成標準的Java組件或 EJBs。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.