整理的常用JAVA开源库简介
Jakarta common:
?Commons Logging
Jakarta Commons Logging (JCL)提供的是一個日志(Log)接口(interface),同時兼顧輕量級和不依賴于具體的日志實現(xiàn)工具。 它提供給中間
件/日志工具開發(fā)者一個簡單的日志操作抽象,允許程序開發(fā)人員使用不同的具體日志實現(xiàn)工具。用戶被假定已熟悉某種日志實現(xiàn)工具的更高級
別的細節(jié)。JCL提供的接口,對其它一些日志工具,包括Log4J, Avalon LogKit, and JDK 1.4等,進行了簡單的包裝,此接口更接近于Log4J和
LogKit的實現(xiàn).
?Commons-Latka
Commons-Latka 是一個HTTP 功能測試包,用于自動化的QA,驗收和衰減測試.
?Commons-Pool
Commons-Pool 提供了通用對象池接口,一個用于創(chuàng)建模塊化對象池的工具包,以及通常的對象池實
?Commons-Math
Math 是一個輕量的,自包含的數(shù)學和統(tǒng)計組件,解決了許多非常通用但沒有及時出現(xiàn)在Java標準語言中的實踐問題.
?Commons-Jelly
Jelly能夠把XML轉換成可執(zhí)行代碼,所以Jelly是一個基于XML與Java的腳本和處理引擎。 Jelly借鑒了JSP定指標簽,Velocity,
Cocoon和Xdoclet中的腳本引擎的許多優(yōu)點。Jelly可以用在命令行,Ant或者Servlet之中。
?Commons-FileUpload
FileUpload 使得在你可以在應用和Servlet中容易的加入強大和高性能的文件上傳能力.
?Commons-BeanUtils
Commons-BeanUtils 提供對 Java 反射和自省API的包裝
?Commons-Chain
Chain 提供實現(xiàn)組織復雜的處理流程的“責任鏈模式”.
?Commons-Codec
Codec 包含一些通用的編碼解碼算法。包括一些語音編碼器, Hex, Base64, 以及URL encoder.
?Commons-Collections
Commons-Collections 提供一個類包來擴展和增加標準的 Java Collection框架
?Commons-Discovery
Commons-Discovery 提供工具來定位資源 (包括類) ,通過使用各種模式來映射服務/引用名稱和資源名稱。
?Commons-EL
Commons-EL 提供在JSP2.0規(guī)范中定義的EL表達式的解釋器.
?Commons-Jexl
Jexl是一個表達式語言,通過借鑒來自于Velocity的經(jīng)驗擴展了JSTL定義的表達式語言。.
?Jakarta Commons HttpClient
HttpClient作為HTTP客戶端組件與服務器進行通訊,同時使用了jdom進行XML數(shù)據(jù)的解析。
?Jakarta Commons Net
一個用于操作Internet基礎協(xié)議(Finger,Whois,TFTP,Telnet,POP3,FTP,NNTP,以及SMTP)的底層API。Net包不僅支持對各種低層次協(xié)
議的訪問,而且還提供了一個高層的抽象。它使得開發(fā)者不再需要直接面對各種協(xié)議的Socket級的低層命令。
?Commons-Configuration
Commons-Configuration 工具可以從
*Properties文件
*XML文件
*JNDI
*JDBC 數(shù)據(jù)源
*System properties
*Applet parameters
*Servlet parameters等來讀取相應的信息
?Commons-validator
commons-validator提供了一個簡單的,可擴展的框架來在一個XML文件中定義校驗器 (校驗方法)和校驗規(guī)則。支持校驗規(guī)則的和錯誤消息的國
際化。
?Commons-Digester
Digester基于規(guī)則的XML文檔解析,主要用于XML到Java對象的映射.
?Commons Betwixt
Commons Betwixt這個組件提供一個XML自省(introspection)機制用來把Java Bean映射到XML文檔.他實現(xiàn)了與標準的Introspector及BeanInfo
類相似的XMLIntrospector及XMLBeanIfno類.
?Commons-Convert
Commons-Convert的目標是提供一個簡單的包來完成把一種類型的對象轉換成另一種.但它目前只支持String到Object或Object到String的轉換.
?Commons4E
這個Eclipse插件方便了利用Jakarta Commons組件所進行地開發(fā).Commons4E根據(jù)用戶選擇的字段(fields)利用commons-lang builders來自動生
成以下方法:toString(),hashcode(),equals(Object)和compareTo(Object).
?Commons-Email
Commons-Email的目的是提供一組用于發(fā)送Email的API,它基于Java Mail API基礎之上并進行了簡化。它提供的主要Java類有:SimpleEmail:
這個類用于發(fā)送簡單的文本類型email。MultiPartEmail:這個類允許發(fā)送文本消息并附帶附件。HtmlEmail:用于發(fā)送Html格式的附件并支持
內(nèi)含圖片。EmailAttachment:這是一個簡單的容器類用于簡化附件的處理。
?Commons-IO
Commons IO是Jakarta Commons項目的一個子項目。用來幫助進行IO功能開發(fā).它包含三個主要的領域:Utility classes-提供一些靜態(tài)方法來
完成公共任務.Filters-提供文件過濾器的各種實現(xiàn).Streams-提供實用的Stream,reader與writer實現(xiàn).
-----------------------------------------------------------------------------
ANother Tool for Language Recognition(ANTLR):它的描述語言可以生成詞法分析器、語法分析器與語義分析器,也就是說,我們可以用它
來識別加工不同的語言(編譯器的編譯器)。它同時支持3大類語言的輸出:C++, Java, C#(按照生日排序),也就是說,我們可以利用它來
用C#生成編譯器,它是這樣的一種工具,它可以接受詞文法語言描述,并能產(chǎn)生識別這些語言的語句的程序。作為翻譯程序的一部分,你可以使用
簡單的操作符和動作來參數(shù)化你的文法,使之告訴ANTLR怎樣去創(chuàng)建抽象語法樹(AST)和怎樣產(chǎn)生輸出。ANTLR知道怎樣去生成識別程序,語言包
括Java,C++,C#. 。類似的還有coco/r 。
cglib是一個強大的,高性能,高質(zhì)量的Code生成類庫。它可以在運行期擴展Java類與實現(xiàn)Java 接口。Hibernate用它來實現(xiàn)PO字節(jié)碼的動態(tài)生成
。 主頁 http://cglib.sourceforge.net
c3p0-0.8.4.5.jar
c3p0是一個容易使用的java庫,用于擴充傳統(tǒng)的基于驅動管理的JDBC驅動和JNDI綁定數(shù)據(jù)源,包括執(zhí)行Connection和Statement Pooling的數(shù)據(jù)
源。
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)規(guī)范的包
?
dom4j-1.5.2.jar
Dom4J是一個在Java平臺上使用Java Collections Framework與XML、 XPath和XSLT協(xié)同工作的開源Java庫,它全面支持DOM、SAX和JAXP。
ehcache-1.1.jar
EHCache 是一個純java的在進程中的緩存,它具有以下特性:快速,簡單,為Hibernate2.1充當可插入的緩存,最小的依賴性,全面的文檔和
測試。
官方網(wǎng)站 http://ehcache.sourceforge.net/
?
jaxen-1.1-beta-4.jar
jaxen是一個用Java開發(fā)的XPath 引擎,用于配合各種基于XML的對象模型,如DOM, dom4j ,JDOM以及Java Beans。
jboss-cache.jar
JBossCache是一個復制的事務處理緩存,它允許你緩存企業(yè)級應用數(shù)據(jù)來更好的改善性能。緩存數(shù)據(jù)被自動復制,讓你輕松進行JBoss服務器之
間的集群工作。JBossCache能夠通過JBoss應用服務或其他J2EE容器來運行一個MBean服務,當然,它也能獨立運行。
JBossCache包括兩個模塊:TreeCache和TreeCacheAOP。
TreeCache --是一個樹形結構復制的事務處理緩存。
TreeCacheAOP --是一個“面向對象”緩存,它使用AOP來動態(tài)管理POJO(Plain Old Java Objects)
注:AOP是OOP的延續(xù),是Aspect Oriented Programming的縮寫,意思是面向方面編程。
官方網(wǎng)站 http://www.jboss.org/products/jbosscache
jboss-jmx.jar
JMX(Java Management Extensions)是一個為應用程序植入管理功能的框架。JMX是一套標準的代理和服務,實際上,用戶可以在任何Java應用
程序中使用這些代理和服務實現(xiàn)管理。
?
oscache-2.0.2.jar
OSCache是個一個廣泛采用的高性能的J2EE緩存框架,OSCache能用于任何Java應用程序的普通的緩存解決方案。
OSCache有以下特點:
緩存任何對象,你可以不受限制的緩存部分jsp頁面或HTTP請求,任何java對象都可以緩存。
擁有全面的API--OSCache API給你全面的程序來控制所有的OSCache特性。
永久緩存--緩存能隨意的寫入硬盤,因此允許昂貴的創(chuàng)建(expensive-to-create)數(shù)據(jù)來保持緩存,甚至能讓應用重啟。
支持集群--集群緩存數(shù)據(jù)能被單個的進行參數(shù)配置,不需要修改代碼。
緩存記錄的過期--你可以有最大限度的控制緩存對象的過期,包括可插入式的刷新策略(如果默認性能不需要時)。
官方網(wǎng)站 http://www.opensymphony.com/oscache/
proxool-0.8.3.jar
Proxool是Java數(shù)據(jù)庫連接池,它能向存在的JDBC驅動中透明的增加數(shù)據(jù)庫連接池。
swarmcache-1.0rc2.jar
SwarmCache是一個簡單且有效的分布式緩存,它使用IP multicast與同一個局域網(wǎng)的其他主機進行通訊,是特別為集群和數(shù)據(jù)驅動web應用程序
而設計的。SwarmCache能夠讓典型的讀操作大大超過寫操作的這類應用提供更好的性能支持。
SwarmCache使用JavaGroups來管理從屬關系和分布式緩存的通訊。
官方網(wǎng)站 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上。
官方網(wǎng)站;http://xml.apache.org/xalan-j/
xerces-2.6.2.jar
Xerces(名稱來源于一種叫Xerces
Blue的蝴蝶)提供世界級的XML解析和產(chǎn)生。充分驗證的語法分析可用于Java和C++,執(zhí)行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過濾器,用來跟蹤用戶請求(比如:點擊)和請求 隊列(比如:點擊流)以向網(wǎng)絡管理員顯示誰在她的網(wǎng)
站上以及每個用戶正在訪問那個頁面。 http://www.opensymphony.com/clickstream/
Cargo是一個Java類包用來操作當前J2EE容器.它提供了Ant和Maven API來停止/啟動/配置Java容器也提供了Java API來解釋/創(chuàng)建J2EE組件.
DbUnit是為數(shù)據(jù)庫驅動的項目提供的一個對JUnit 的擴展,除了提供一些常用功能,它可以將你的數(shù)據(jù)庫置于一個測試輪回之間的狀態(tài)。
iText是一個能夠快速產(chǎn)生PDF文件的java類庫。iText的java類對于那些要產(chǎn)生包含文本,表格,圖形的只讀文檔是很有用的。它的類庫尤其與
java Servlet有很好的給合。使用iText與PDF能夠使你正確的控制Servlet的輸出。
DWR(Direct Web Remoting)是一個WEB遠程調(diào)用框架.利用這個框架可以讓AJAX開發(fā)變得很簡單.利用DWR可以在客戶端利用JavaScript直接調(diào)用
服務端的Java方法并返回值給JavaScript就好像直接本地客戶端調(diào)用一樣(DWR根據(jù)Java類來動態(tài)生成JavaScrip代碼).它的最新版本DWR0.6添加
許多特性如:支持Dom Trees的自動配置,支持Spring(JavaScript遠程調(diào)用spring bean),更好瀏覽器支持,還支持一個可選的commons-logging日
記操作.
?
?Java2Html 能夠的把java源代碼轉換為高亮有序的HTML, RTF, TeX 與 XHTML格式。這個開源項目有一個java applet 與許多插件以便能夠與
其它系統(tǒng)很好的給合。
jMock利用mock objects思想來對Java code進行測試。jMock具有以下特點:容易擴展,讓你快速簡單地定義mock objects,因此不必打破程序間
的關聯(lián),讓你定義靈活的超越對象之間交互作用而帶來測試局限,減少你測試地脆弱性。
?
PMD是一個Java源碼分析器。它可以發(fā)現(xiàn)不需要使用的變量,空的Catch塊和不需要創(chuàng)建的對象等。它還包含一個CPD工具可以探測一塊代碼中相
同的部分。
?
OS(OpenSymphony)的SiteMesh是一個用來在JSP中實現(xiàn)頁面布局和裝飾(layout and decoration)的框架組件,能夠幫助網(wǎng)站開發(fā)人員較容易
實現(xiàn)頁面中動態(tài)內(nèi)容和靜態(tài)裝飾外觀的分離。
?
Velocity是一個基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼
定義的對象。 當Velocity應用于web開發(fā)時,界面設計人員可以和java程序開發(fā)人員同步開發(fā)一個遵循MVC架構的web站點,也就是說,頁面設
計人員可以只關注頁面的顯示效果,而由java程序開發(fā)人員關注業(yè)務邏輯編碼。Velocity將java代碼從web頁面中分離出來,這樣為web站點的
長期維護提供了便利,同時也為我們在JSP和PHP之外又提供了一種可選的方案。 Velocity的能力遠不止web站點開發(fā)這個領域,例如,它可以
從模板(template)產(chǎn)生SQL和PostScript、XML,它也可以被當作一個獨立工具來產(chǎn)生源代碼和報告,或者作為其他系統(tǒng)的集成組件使用。Vel
ocity也可以為Turbine web開發(fā)架構提供模板服務(template service)。Velocity+Turbine提供一個模板服務的方式允許一個web應用以一個
真正的MVC模型進行開發(fā)。 【VeloEclipse :Velocity在Eclipse平臺下的一個輔助開發(fā)插件】
Jakarta ORO一套文本處理工具,能提供perl5.0兼容的正則表達式,AWK-like正則表達式, glob表達式。還提供替換,分割,文件名過慮等功能.
caucho:
Burlap是一個輕量級的XML RPC協(xié)議.利用Burlap Web服務協(xié)議使用Web服務不需要大型的框架也不用學習其它協(xié)議字母湯(alphabet soup).
Caucho Resin提供了最快的jsp/servlets運行平臺。它支持Servlet,XSL Filtering6并且具備XSLT和XPath1.0引擎。
Hessian也是一個輕量級的,自定義描述的二進制RPC協(xié)議.因為它是一個二進制協(xié)議,所以它很適合于發(fā)送二進制數(shù)據(jù)而需要使用其它附件來擴展
這個協(xié)議.
-----------------
cos上傳組件它是著名O'Reilly的圖書出版公司開發(fā)的。這個上傳的組件做得很棒。
EasyMock為Mock Objects提供接口并在JUnit測試中利用Java的proxy設計模式生成它們的實例。EasyMock最適合于測試驅動開發(fā)。
FreeMarker允許Java servlet保持圖形設計同應用程序邏輯的分離,這是通過在模板中密封HTML完成的。模板用servlet提供的數(shù)據(jù)動態(tài)地生成
HTML。模板語言是強大的直觀的,編譯器速度快,輸出接近靜態(tài)HTML頁面的速度。
Jamon是一個Java文本模板引擎,用于生成動態(tài)HTML, XML,或任何基于文本的內(nèi)容。它有一個豐富的功能集,支持封裝,參數(shù)化,功能分解,表
達邏輯重用。模板聲明它們要求生成的參數(shù),包括動態(tài)模板內(nèi)容("fragments"),并被翻譯成帶有公有方法的Java類,它的符號反映了在模板中
聲明的參數(shù)。
JasperReports是一個基于Java的開源報表工具,它可以在Java環(huán)境下像其它IDE報表工具一樣來制作報表。JasperReports支持PDF、HTML、XLS
、CSV和XML文件輸出格式。JasperReports是當前Java開發(fā)者最常用的報表工具。
Java Excel API(JXL)是一個成熟,開源的Excel電子表格讀取,修改,寫入的項目。Java開發(fā)者利用它簡單,便利的API就能夠讀取Excel電子
表格,進行修改并能夠把修改后的變化寫到任何output stream中(如:Disk, HTTP, database, 或任何socket),這個項目基于GPL發(fā)布,而且對中
文有很好的支持。
● 支持字體、數(shù)字、日期操作
● 能夠修飾單元格屬性
● 支持圖像和圖表
?
JOTM 是一個基于Java開放源代碼的事務處理管理器。它遵循JTA APIs規(guī)范與Business Transaction Protocol(BTP)規(guī)范以提供了對Web
Service的支持。
ObJectRelationalBridge-OJB是基于XML的對象/關系映射工具.OJB提供一些高級的特性如:對象緩存,延遲加載,利用事務隔離級別的結構進行分
布式管理,支持悲觀與樂觀鎖.OJB還提供了一個靈活的配置與插件機制以便可以擴展加入自己的功能.
Jakarta POI可以讓你使用Java來讀寫MS Excel ,Word文件
Quartz是OpenSymphony開源組織在Job scheduling領域又一個開源項目,它可以與J2EE與J2SE應用程序相結合也可以單獨使用。Quartz可以用來
創(chuàng)建簡單或為運行十個,百個,甚至是好幾萬個Jobs這樣復雜的日程序表。Jobs可以做成標準的Java組件或 EJBs。
toplink oracle o/r mapping
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的整理的常用JAVA开源库简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 冗余之美
- 下一篇: WAS6集群部署及初步测试