1. 程式人生 > >java開發常用jar包介紹(轉載)

java開發常用jar包介紹(轉載)

jta.jar 標準JTA API必要

commons-collections.jar 集合類 必要

antlr.jar ANother Tool for Language Recognition 必要

asm.jar ASM位元組碼庫 如果使用“cglib” 則必要

asm-attrs.jar ASM位元組碼庫 如果使用“cglib” 則必要

ehcache.jar EHCache快取 如果沒有其他的快取,則是必要的

cglib.jar CGLIB位元組碼直譯器 如果使用“cglib” 則必要

commons-beanutils.jar 提供對java反射和自省API的包裝 對bean操作的類,可以訪問類的屬性及get和set方法

commons-digester.jar Digester基於規則的XML文件解析,主要用於XML到java物件的對映

commons-lang.jar 包含了一些資料型別工具類,是java.lang.* 的擴充套件 必須使用的包

commons-pool.jar,commons-dbcp.jar DBCP資料庫連線池,Apache的Jakarta組織開發的,Tomcat4的連線池也是DBCP

commons-chain.jar Jakarta Commons的子專案Chain將上述兩個模式組合成一個可複用的Java框架用於描述順序的處理流程 strutsheShale應用框架作為處理HTTP請求處理的基礎機制

commons-validator.jar 用來幫助進行驗證的工具。比如驗證Email字串,日期字串等是否合法。

Burlap.jar 支援ejb,遠端呼叫Remoting方面的類

buffalo.jar 處理xml的jar包

commons-betwixt.jar 用xml生成報表時需要用到的包

commons-el.jar Apache 組織中一個用來解析 JSP 2.0 的表示式語言的 Java

htmlparser.jar 是一個純的java寫的html解析的庫,它不依賴於其它的java庫檔案,主要用於改造或提取html類庫

jakarta-oro.jar java正則表示式所需的包

jaxen.jar 在jdom中使用xpath需要匯入jaxen.jar包

mina-core.jar Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 組織一個較新的專案,它為開發高效能和高可用性的網路應用程式提供了非常便利的框架

這裡主要介紹的是Hibernate使用到的.jar

Hibernate一共包括了23個jar包,令人眼花繚亂。本文將詳細講解Hibernate每個jar包的作用,便於你在應用中根據自己的需要進行取捨。

下載Hibernate,例如2.0.3穩定版本,解壓縮,可以看到一個hibernate2.jar和lib目錄下有22個jar包:

hibernate2.jar:

Hibernate的庫,沒有什麼可說的,必須使用的jar包

cglib-asm.jar:

CGLIB庫,Hibernate用它來實現PO位元組碼的動態生成,非常核心的庫,必須使用的jar包

dom4j.jar:

dom4j是一個Java的XML API,類似於jdom,用來讀寫XML檔案的。dom4j是一個非常非常優秀的Java XML API,具有效能優異、功能強大和極端易用使用的特點,同時它也是一個開放原始碼的軟體,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,對主流的Java XML API進行的效能、功能和易用性的評測,dom4j無論在那個方面都是非常出色的。我早在將近兩年之前就開始使用dom4j,直到現在。如今你可以看到越來越多的Java軟體都在使用dom4j來讀寫XML,特別值得一提的是連Sun的JAXM也在用dom4j。這是必須使用的jar包,Hibernate用它來讀寫配置檔案。

odmg.jar:

ODMG是一個ORM的規範,Hibernate實現了ODMG規範,這是一個核心的庫,必須使用的jar包。

commons-collections.jar:

Apache Commons包中的一個,包含了一些Apache開發的集合類,功能比java.util.*強大。必須使用的jar包。

commons-beanutils.jar:

Apache Commons包中的一個,包含了一些Bean工具類類。必須使用的jar包。

commons-lang.jar:

Apache Commons包中的一個,包含了一些資料型別工具類,是java.lang.*的擴充套件。必須使用的jar包。

commons-logging.jar:

Apache Commons包中的一個,包含了日誌功能,必須使用的jar包。這個包本身包含了一個Simple Logger,但是功能很弱。在執行的時候它會先在CLASSPATH找log4j,如果有,就使用log4j,如果沒有,就找JDK1.4帶的java.util.logging,如果也找不到就用Simple Logger。commons-logging.jar的出現是一個歷史的的遺留的遺憾,當初Apache極力遊說Sun把log4j加入JDK1.4,然而JDK1.4專案小組已經接近釋出JDK1.4產品的時間了,因此拒絕了Apache的要求,使用自己的java.util.logging,這個包的功能比log4j差的很遠,效能也一般。後來Apache就開發出來了commons-logging.jar用來相容兩個logger。因此用commons-logging.jar寫的log程式,底層的Logger是可以切換的,你可以選擇log4j,java.util.logging或者它自帶的Simple Logger。不過我仍然強烈建議使用log4j,因為log4j效能很高,log輸出資訊時間幾乎等於System.out,而處理一條log平均只需要5us。你可以在Hibernate的src目錄下找到Hibernate已經為你準備好了的log4j的配置檔案,你只需要到Apache 網站去下載log4j就可以了。commons-logging.jar也是必須的jar包。

使用Hibernate必須的jar包就是以上的這幾個,剩下的都是可選的。

ant.jar:

Ant編譯工具的jar包,用來編譯Hibernate原始碼的。如果你不準備修改和編譯Hibernate原始碼,那麼就沒有什麼用,可選的jar包

optional.jar:

Ant的一個輔助包。

c3p0.jar:

C3PO是一個數據庫連線池,Hibernate可以配置為使用C3PO連線池。如果你準備用這個連線池,就需要這個jar包。

proxool.jar:

也是一個連線池,同上。

commons-pool.jar, commons-dbcp.jar:

DBCP資料庫連線池,Apache的Jakarta組織開發的,Tomcat4的連線池也是DBCP。

實際上Hibernate自己也實現了一個非常非常簡單的資料庫連線池,加上上面3個,你實際上可以在Hibernate上選擇4種不同的資料庫連線池,選擇哪一個看個人的偏好,不過DBCP可能更通用一些。另外強調一點,如果在EJB中使用Hibernate,一定要用App Server的連線池,不要用以上4種連線池,否則容器管理事務不起作用。

connector.jar:

JCA 規範,如果你在App Server上把Hibernate配置為Connector的話,就需要這個jar。不過實際上一般App Server肯定會帶上這個包,所以實際上是多餘的包。

jaas.jar:

JAAS是用來進行許可權驗證的,已經包含在JDK1.4裡面了。所以實際上是多餘的包。

jcs.jar:

如果你準備在Hibernate中使用JCS的話,那麼必須包括它,否則就不用。

jdbc2_0-stdext.jar:

JDBC2.0的擴充套件包,一般來說資料庫連線池會用上它。不過App Server都會帶上,所以也是多餘的。

jta.jar:

JTA規範,當Hibernate使用JTA的時候需要,不過App Server都會帶上,所以也是多餘的。

junit.jar:

Junit包,當你執行Hibernate自帶的測試程式碼的時候需要,否則就不用。

xalan.jar, xerces.jar, xml-apis.jar:

Xerces是XML解析器,Xalan是格式化器,xml-apis實際上是JAXP。一般App Server都會帶上,JDK1.4也包含了解析器,不過不是Xerces,是Crimson,效率比較差,不過Hibernate用XML只不過是讀取配置檔案,效能沒什麼緊要的,所以也是多餘的。

J2EE的部分jar的作用:

activation.jar:與javaMail有關的jar包,使用javaMail時應與mail.jar一起加入到lib中去,具體負責mail的資料來源和型別等

ajaxtags-1.2-beta3.jar:ajax提供的標籤庫,使使用者能像使用jsp普通標籤一樣使用ajax

ant.jar和antlr.jar(可以刪去):的是ant編譯用的包,在工程中不用新增

asm.jar:Hebernate的包,Hibernate在執行時使用這個程式碼生成庫增強類(與java反射機制聯合使用).ASM位元組碼庫,cglib.jar包依賴的包。必需的jar包。

axis-ant.jar:是Axis為支援Ant構建,提供了的檔案。該檔案包含三個可選任務(task)的定義和實現:axis-wsdl2java,axis-java2wsdl和axis-admin。

cglib-2.1.3.jar:全稱是Code Generation Library,它可以用來動態繼承Java類或者實現介面,很多知名的開源專案中用到了它.Hibernate用它來實現PO位元組碼的動態生成,非常核心的庫,必需的jar包。

chartengineapi.jar:不大清楚,大概是Birt關於字型的類庫。

com.ibm.icu_3.6.1.v10070417.jar:從3.2版本開始,eclipse就增加了一個com.ibm.icu外掛,用於增強對多語言的支援。應該是沒用的。

commons-beanutils.jar:下面幾個帶“commons”的都是Apache Commons包中的一個,這裡是被hibernate使用的,估計在工程中沒有全部用到這些包,所以有的應該能刪去。本包包含了一些Bean工具類類,是必須使用的jar包。

commons-cli-1.0.jar:這是一個處理命令的工具。比如main方法輸入的string[]需要解析。你可以預先定義好引數的規則,然後就可以呼叫CLI來解析。

commond-collections.jar:包含了一些Apache開發的集合類,功能比java.util.*強大。必須使用的jar包.

commons-digester.jar:它能方便地將XML文件所定義的元素轉化為JAVA物件,其實它的用法有點象棧(當然內在的原理就是那個古老的東西,只是提供了更高一層的封裝)。

commons-discovery-0.2.jar:discovery模式的實現,提供定位與例項化類或其他資源的通用方法。使用最好的演算法得到介面的所有實現。當用戶想找到所有的提供某一服務的提供商時,這將特別有用

commons-fileupload.jar:jsp的上傳檔案功能

commons-io.jar:可以看成是java.io的擴充套件

commons-lang.jar:包含了一些資料型別工具類,是java.lang.*的擴充套件。必須使用的jar包。

commons-pool-1.2.jar:DBCP資料庫連線池,Apache的Jakarta組織開發的,Tomcat4的連線池也是DBCP。

commons-validator.jar:用來幫助進行驗證的工具。比如驗證Email字串,日期字串等是否合法。

coreapi.jar:一種應用的核心 類庫,這裡是Birt的核心包。

dataadapterapi.jar:Birt的有關資料處理的包,具體作用還沒摸清楚。

dom4j-1.4.jar:是一個Java的XML API,類似於jdom,用來讀寫XML檔案的。Hibernate使用dom4j解析XML配置檔案和XML對映元檔案。必需的。

dteapi.jar:Birt的有關資料處理的包,具體作用還沒摸清楚。

dwr.jar:dwr的核心包

ehcache-1.2.jar:Hibernate可以使用不同cache快取工具作為二級快取。EHCache是預設的cache快取工具。如果沒有其它的可選快取工具,則為必需的。

engineapi.jar:Birt的有關資料集的包

FCKeditor.jar:支援FCKEditor的圖片檔案上傳和瀏覽的包

flute.jar:有關解析css的類庫,誰的還沒弄清楚

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

hibernate3.jar:hibernate3的核心類庫。

itext.jar:java:是用於生成PDF文件的一個java類庫。通過iText不僅可以生成PDF或rtf的文件,而且可以將XML、Html檔案轉化為PDF檔案。

iTextAsian.jar:itext中關於亞洲編碼的類庫,在這裡用於中文字型的輸入。

jasperreports.jar:有關報表功能的類庫

javamail.jar:javamail的核心類,提供了mail傳送的基本介面。

jaxrpc.jar:(java APIs for XML-Based Remote Procedure Call,JAX-RPC)將XML 型別轉換為 Java 型別,以確保 Web 服務客戶機和基於 Java 的應用程式之間能夠進行平穩的資料交換。是spring需要的。

jenkov-prizetags-bin-3.2.0.jar:一個集許多功能於一身的Jsp標籤庫。其中最受歡迎的Tree Tag,這個Tag可以為不同節點指定

activation.jar:與javaMail有關的jar包,使用javaMail時應與mail.jar一起加入到lib中去,具體負責mail的資料來源和型別等

ajaxtags-1.2-beta3.jar:ajax提供的標籤庫,使使用者能像使用jsp普通標籤一樣使用ajax

ant.jar和antlr.jar(可以刪去):的是ant編譯用的包,在工程中不用新增

asm.jar:Hebernate的包,Hibernate在執行時使用這個程式碼生成庫增強類(與java反射機制聯合使用).ASM位元組碼庫,cglib.jar包依賴的包。必需的jar包。

axis-ant.jar:是Axis為支援Ant構建,提供了的檔案。該檔案包含三個可選任務(task)的定義和實現:axis-wsdl2java,axis-java2wsdl和axis-admin。

cglib-2.1.3.jar:全稱是Code Generation Library,它可以用來動態繼承Java類或者實現介面,很多知名的開源專案中用到了它.Hibernate用它來實現PO位元組碼的動態生成,非常核心的庫,必需的jar包。

chartengineapi.jar:不大清楚,大概是Birt關於字型的類庫。

com.ibm.icu_3.6.1.v10070417.jar:從3.2版本開始,eclipse就增加了一個com.ibm.icu外掛,用於增強對多語言的支援。應該是沒用的。

commons-beanutils.jar:下面幾個帶“commons”的都是Apache Commons包中的一個,這裡是被hibernate使用的,估計在工程中沒有全部用到這些包,所以有的應該能刪去。本包包含了一些Bean工具類類,是必須使用的jar包。

commons-cli-1.0.jar:這是一個處理命令的工具。比如main方法輸入的string[]需要解析。你可以預先定義好引數的規則,然後就可以呼叫CLI來解析。

commond-collections.jar:包含了一些Apache開發的集合類,功能比java.util.*強大。必須使用的jar包.

commons-digester.jar:它能方便地將XML文件所定義的元素轉化為JAVA物件,其實它的用法有點象棧(當然內在的原理就是那個古老的東西,只是提供了更高一層的封裝)。

commons-discovery-0.2.jar:discovery模式的實現,提供定位與例項化類或其他資源的通用方法。使用最好的演算法得到介面的所有實現。當用戶想找到所有的提供某一服務的提供商時,這將特別有用

commons-fileupload.jar:jsp的上傳檔案功能

commons-io.jar:可以看成是java.io的擴充套件

commons-lang.jar:包含了一些資料型別工具類,是java.lang.*的擴充套件。必須使用的jar包。

commons-pool-1.2.jar:DBCP資料庫連線池,Apache的Jakarta組織開發的,Tomcat4的連線池也是DBCP。

commons-validator.jar:用來幫助進行驗證的工具。比如驗證Email字串,日期字串等是否合法。

coreapi.jar:一種應用的核心 類庫,這裡是Birt的核心包。

dataadapterapi.jar:Birt的有關資料處理的包,具體作用還沒摸清楚。

dom4j-1.4.jar:是一個Java的XML API,類似於jdom,用來讀寫XML檔案的。Hibernate使用dom4j解析XML配置檔案和XML對映元檔案。必需的。

dteapi.jar:Birt的有關資料處理的包,具體作用還沒摸清楚。

dwr.jar:dwr的核心包

ehcache-1.2.jar:Hibernate可以使用不同cache快取工具作為二級快取。EHCache是預設的cache快取工具。如果沒有其它的可選快取工具,則為必需的。

engineapi.jar:Birt的有關資料集的包

FCKeditor.jar:支援FCKEditor的圖片檔案上傳和瀏覽的包

flute.jar:有關解析css的類庫,誰的還沒弄清楚

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

hibernate3.jar:hibernate3的核心類庫。

itext.jar:java:是用於生成PDF文件的一個java類庫。通過iText不僅可以生成PDF或rtf的文件,而且可以將XML、Html檔案轉化為PDF檔案。

iTextAsian.jar:itext中關於亞洲編碼的類庫,在這裡用於中文字型的輸入。

jasperreports.jar:有關報表功能的類庫

javamail.jar:javamail的核心類,提供了mail傳送的基本介面。

jaxrpc.jar:(java APIs for XML-Based Remote Procedure Call,JAX-RPC)將XML 型別轉換為 Java 型別,以確保 Web 服務客戶機和基於Java 的應用程式之間能夠進行平穩的資料交換。是spring需要的。

jenkov-prizetags-bin-3.2.0.jar:一個集許多功能於一身的Jsp標籤庫。其中最受歡迎的Tree Tag,這個Tag可以為不同節點指定

js.jar:java關於處理javascript的類庫。

jstl.jar:(jsp standard taglib)jstl的核心標籤庫。

jta.jar:java的事務規範,當用到事務處理時是必需的,hebernate中用到。

jxl.jar:(java excel api)是一個韓國人寫的處理Excel的類庫,能夠方便的匯入和到處Excel。

log4j.jar:日誌包,可以更加詳細的記錄日誌。可選的。

modelapi.jar:birt關於報表生成的類庫,具體功能有待考究。

mysql-connector-java-5.0.5-bin.jar:mysql的資料庫聯接驅動,符合JCA 規範,如果你在App Server上把Hibernate配置為mysql資料庫聯接池的話,就需要這個jar。

ognl.jar:OGNL(Object Graph Navigation Language)是一種表示式語言,使用它可以使表示式與java物件中的getter和setter屬性繫結,且一個OGNL表示式可以進行存和取兩方面的操作.ognl.jar是java對ognl的支援,webwork載入的。

org.eclipse.birt.report.viewer.nl1_2.2.0.v20070526-1010.jar:有關Birt的報表生成的類庫

org.eclipse.emf.common_2.2.1.v200702131851.jar:  EMF根據ecore建模(可以和schema的xsd相互轉換)生成強型別的EMF程式碼. 這個強型別更強的地方是可以取得meta資訊,從而可以用於校驗和介面輔助資訊的生成.類似於動態bean,屬性也可以根據名稱動態取得,這幾個類庫都與 Birt的報表生成有關

org.eclipse.emf.ecore.xmi_2.2.2.v200702131851.jar

org.eclipse.emf.ecore_2.2.2.v200702131851.jar

oscore.jar:webwork的一個通用功能類庫

poi.jar:Apache的操作資料轉換的類庫,能匯入和到處Excel,與jxl.jar功能重複。

proxool-0.9.0RC3.jar:是一個連線池,如果你準備用這個連線池,就需要這個jar包。

quartz-1.6.0.jar:一個定時器

rife-continuations.jar:rife原來是一個基於元件模型的Java Web框架,被webwork整合。

saaj.jar:SOAP with Attachments API for Java。能為java提供按照SOAP規範的收發資訊。誰帶進來的有待考究。

sac.jar:Simple API for CSS,java處理CSS的類。

scriptapi.jar:能夠在Java中使用指令碼語言引擎,在指令碼語言和Java之間交換資料。可能是Birt引入的。

sitemesh.jar:Sitemesh 是一個基於WEB頁面的佈局、裝飾以及應用整合的開源框架。它能幫助我們在由大量頁面構成的專案中建立一致的頁面佈局和外觀,如一致的導航條,一致的 banner,一致的版權,等等。它不僅僅能處理動態的內容,如jsp,php,asp等產生的內容,它也能處理靜態的內容,使得它的內容也符合你的頁面結構的要求.sitemesh.jar是其類庫

spring.jar:spring的核心類庫。

standard.jar:jstl的類庫,包含TLD 和標記控制代碼。

velocity-dep.jar: webwork的包。依賴的Velocity類庫

velocity-tools-view.jar:同上

velocity.jar:webwork帶來的包。是一個的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java程式碼定義的物件。

webwork-2.2.5.jar:webwork的核心類庫。

wsdl4j-1.5.1.jar:一個可擴充套件的 WSDL 分析框架,WSIF 在此基礎上進行構建。AXIS必需的包。

xwork.jar:包含webwork構建所依賴的xwork類庫,webwork是基於xwork的

activation.jar:與javaMail有關的jar包,使用javaMail時應與mail.jar一起加入到lib中去,具體負責mail的資料來源和型別等
ajaxtags-1.2-beta3.jar:ajax提供的標籤庫,使使用者能像使用jsp普通標籤一樣使用ajax
ant.jar和antlr.jar(可以刪去):的是ant編譯用的包,在工程中不用新增
asm.jar:Hebernate的包,Hibernate在執行時使用這個程式碼生成庫增強類(與java反射機制聯合使用).ASM位元組碼庫,cglib.jar包依賴的包。必需的jar包。
axis-ant.jar:是Axis為支援Ant構建,提供了的檔案。該檔案包含三個可選任務(task)的定義和實現:axis-wsdl2java,axis-java2wsdl和axis-admin。
cglib-2.1.3.jar:全稱是Code Generation Library,它可以用來動態繼承Java類或者實現介面,很多知名的開源專案中用到了它.Hibernate用它來實現PO位元組碼的動態生成,非常核心的庫,必需的jar包。
chartengineapi.jar:不大清楚,大概是Birt關於字型的類庫。
com.ibm.icu_3.6.1.v10070417.jar:從3.2版本開始,eclipse就增加了一個com.ibm.icu外掛,用於增強對多語言的支援。應該是沒用的。
commons-beanutils.jar:下面幾個帶“commons”的都是Apache Commons包中的一個,這裡是被hibernate使用的,估計在工程中沒有全部用到這些包,所以有的應該能刪去。本包包含了一些Bean工具類類,是必須使用的jar包。
commons-cli-1.0.jar:這是一個處理命令的工具。比如main方法輸入的string[]需要解析。你可以預先定義好引數的規則,然後就可以呼叫CLI來解析。
commond-collections.jar:包含了一些Apache開發的集合類,功能比java.util.*強大。必須使用的jar包.
commons-digester.jar:它能方便地將XML文件所定義的元素轉化為JAVA物件,其實它的用法有點象棧(當然內在的原理就是那個古老的東西,只是提供了更高一層的封裝)。
commons-discovery-0.2.jar:discovery模式的實現,提供定位與例項化類或其他資源的通用方法。使用最好的演算法得到介面的所有實現。當用戶想找到所有的提供某一服務的提供商時,這將特別有用
commons-fileupload.jar:jsp的上傳檔案功能
commons-io.jar:可以看成是java.io的擴充套件
commons-lang.jar:包含了一些資料型別工具類,是java.lang.*的擴充套件。必須使用的jar包。
commons-pool-1.2.jar:DBCP資料庫連線池,Apache的Jakarta組織開發的,Tomcat4的連線池也是DBCP。
commons-validator.jar:用來幫助進行驗證的工具。比如驗證Email字串,日期字串等是否合法。
coreapi.jar:一種應用的核心 類庫,這裡是Birt的核心包。
dataadapterapi.jar:Birt的有關資料處理的包,具體作用還沒摸清楚。
dom4j-1.4.jar:是一個Java的XML API,類似於jdom,用來讀寫XML檔案的。Hibernate使用dom4j解析XML配置檔案和XML對映元檔案。必需的。
dteapi.jar:Birt的有關資料處理的包,具體作用還沒摸清楚。
dwr.jar:dwr的核心包
ehcache-1.2.jar:Hibernate可以使用不同cache快取工具作為二級快取。EHCache是預設的cache快取工具。如果沒有其它的可選快取工具,則為必需的。
engineapi.jar:Birt的有關資料集的包
FCKeditor.jar:支援FCKEditor的圖片檔案上傳和瀏覽的包
flute.jar:有關解析css的類庫,誰的還沒弄清楚
freemarker.jar:是webwork的包,FreeMarker允許Java servlet保持圖形設計同應用程式邏輯的分離,這是通過在模板中密封HTML完成的。模板用servlet提供的資料動態地生成HTML。
hibernate3.jar:hibernate3的核心類庫。
itext.jar:java:是用於生成PDF文件的一個java類庫。通過iText不僅可以生成PDF或rtf的文件,而且可以將XML、Html檔案轉化為PDF檔案。
iTextAsian.jar:itext中關於亞洲編碼的類庫,在這裡用於中文字型的輸入。
jasperreports.jar:有關報表功能的類庫
javamail.jar:javamail的核心類,提供了mail傳送的基本介面。
jaxrpc.jar:(java APIs for XML-Based Remote Procedure Call,JAX-RPC)將XML 型別轉換為 Java 型別,以確保 Web 服務客戶機和基於 Java 的應用程式之間能夠進行平穩的資料交換。是spring需要的。
jenkov-prizetags-bin-3.2.0.jar:一個集許多功能於一身的Jsp標籤庫。其中最受歡迎的Tree Tag,這個Tag可以為不同節點指定

hibernate2.jar:
  Hibernate的庫,沒有什麼可說的,必須使用的jar包

cglib-asm.jar:
  CGLIB庫,Hibernate用它來實現PO位元組碼的動態生成,非常核心的庫,必須使用的jar包

dom4j.jar:
  dom4j是一個Java的XML API,類似於jdom,用來讀寫XML檔案的。dom4j是一個非常非常優秀的Java XML API,具有效能優異、功能強大和極端易用使用的特點,同時它也是一個開放原始碼的軟體,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,對主流的Java XML API進行的效能、功能和易用性的評測,dom4j無論在那個方面都是非常出色的。我早在將近兩年之前就開始使用dom4j,直到現在。如今你可以看到越來越多的Java軟體都在使用dom4j來讀寫XML,特別值得一提的是連Sun的JAXM也在用dom4j。這是必須使用的jar包, Hibernate用它來讀寫配置檔案。

odmg.jar:
  ODMG是一個ORM的規範,Hibernate實現了ODMG規範,這是一個核心的庫,必須使用的jar包。

commons-collections.jar:
  Apache Commons包中的一個,包含了一些Apache開發的集合類,功能比java.util.*強大。必須使用的jar包。

commons-beanutils.jar:
  Apache Commons包中的一個,包含了一些Bean工具類類。必須使用的jar包。

commons-lang.jar:
  Apache Commons包中的一個,包含了一些資料型別工具類,是java.lang.*的擴充套件。必須使用的jar包。

commons-logging.jar:
  Apache Commons包中的一個,包含了日誌功能,必須使用的jar包。這個包本身包含了一個Simple Logger,但是功能很弱。在執行的時候它會先在CLASSPATH找log4j,如果有,就使用log4j,如果沒有,就找JDK1.4帶的 java.util.logging,如果也找不到就用Simple Logger。commons-logging.jar的出現是一個歷史的的遺留的遺憾,當初Apache極力遊說Sun把log4j加入JDK1.4,然而JDK1.4專案小組已經接近釋出JDK1.4產品的時間了,因此拒絕了Apache的要求,使用自己的java.util.logging,這個包的功能比log4j差的很遠,效能也一般。

後來Apache就開發出來了commons-logging.jar用來相容兩個 logger。因此用commons-logging.jar寫的log程式,底層的Logger是可以切換的,你可以選擇log4j, java.util.logging或者它自帶的Simple Logger。不過我仍然強烈建議使用log4j,因為log4j效能很高,log輸出資訊時間幾乎等於System.out,而處理一條log平均只需要5us。你可以在Hibernate的src目錄下找到Hibernate已經為你準備好了的log4j的配置檔案,你只需要到Apache 網站去下載log4j就可以了。commons-logging.jar也是必須的jar包。

使用Hibernate必須的jar包就是以上的這幾個,剩下的都是可選的。

ant.jar:
  Ant編譯工具的jar包,用來編譯Hibernate原始碼的。如果你不準備修改和編譯Hibernate原始碼,那麼就沒有什麼用,可選的jar包

optional.jar:
  Ant的一個輔助包。

c3p0.jar:
  C3PO是一個數據庫連線池,Hibernate可以配置為使用C3PO連線池。如果你準備用這個連線池,就需要這個jar包。

proxool.jar:
  也是一個連線池,同上。

commons-pool.jar, commons-dbcp.jar:
  DBCP資料庫連線池,Apache的Jakarta組織開發的,Tomcat4的連線池也是DBCP。

實際上Hibernate自己也實現了一個非常非常簡單的資料庫連線池,加上上面3個,你實際上可以在Hibernate上選擇4種不同的資料庫連線池,選擇哪一個看個人的偏好,不過DBCP可能更通用一些。另外強調一點,如果在EJB中使用Hibernate,一定要用App Server的連線池,不要用以上4種連線池,否則容器管理事務不起作用。

connector.jar:
  JCA 規範,如果你在App Server上把Hibernate配置為Connector的話,就需要這個jar。不過實際上一般App Server肯定會帶上這個包,所以實際上是多餘的包。

jaas.jar:
  JAAS是用來進行許可權驗證的,已經包含在JDK1.4裡面了。所以實際上是多餘的包。

jcs.jar:
  如果你準備在Hibernate中使用JCS的話,那麼必須包括它,否則就不用。

jdbc2_0-stdext.jar:
  JDBC2.0的擴充套件包,一般來說資料庫連線池會用上它。不過App Server都會帶上,所以也是多餘的。

jta.jar:
  JTA規範,當Hibernate使用JTA的時候需要,不過App Server都會帶上,所以也是多餘的。

junit.jar:
  Junit包,當你執行Hibernate自帶的測試程式碼的時候需要,否則就不用。

xalan.jar, xerces.jar, xml-apis.jar:
  Xerces是XML解析器,Xalan是格式化器,xml-apis實際上是JAXP。一般App Server都會帶上,JDK1.4也包含了解析器,不過不是Xerces,是Crimson,效率比較差,不過Hibernate用XML只不過是讀取配置檔案,效能沒什麼緊要的,所以也是多餘的。

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相容的正則表示式,AWK-like正則表示式, 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。

xfire框架所需jar包:

activation-1.0.2.jar
commons-attributes-api-2.1.jar
commons-beanutils-1.7.0.jar
commons-codec-1.3.jar
commons-httpclient-3.0.jar
commons-logging-1.0.4.jar
httpunit-1.6.1.jar
jaxen-1.1-beta-8.jar
jdom-1.0.jar
js-1.5R4.1.jar
jtidy-4aug2000r7-dev.jar
log4j-1.2.6.jar
mail-1.3.3_01.jar
nekohtml-0.9.1.jar
org.mortbay.jetty-5.1.3.jar
qdox-1.5.jar
servlet-api-2.3.jar
spring-1.2.6.jar
stax-api-1.0.jar
stax-utils-snapshot-20040917.jar
wsdl4j-1.5.2.jar
wstx-asl-2.9.jar
xbean-2.1.0.jar
xbean-spring-2.2.jar
xercesImpl-2.6.2.jar
xfire-aegis-1.0.jar
xfire-annotations-1.0.jar
xfire-core-1.0.jar
xfire-spring-1.0.jar
xfire-xmlbeans-1.0.jar
xmlParserAPIs-2.6.2.jar
XmlSchema-1.0.jar

activation.jar:與javaMail有關的jar包,使用javaMail時應與mail.jar一起加入到lib中去,具體負責mail的資料來源和型別等

ajaxtags-1.2-beta3.jar:ajax提供的標籤庫,使使用者能像使用jsp普通標籤一樣使用ajax

ant.jar和antlr.jar(可以刪去):的是ant編譯用的包,在工程中不用新增

asm.jar:Hebernate的包,Hibernate在執行時使用這個程式碼生成庫增強類(與java反射機制聯合使用).ASM位元組碼庫,cglib.jar包依賴的包。必需的jar包。

axis-ant.jar:是Axis為支援Ant構建,提供了的檔案。該檔案包含三個可選任務(task)的定義和實現:axis-wsdl2java,axis-java2wsdl和axis-admin。

cglib-2.1.3.jar:全稱是Code Generation Library,它可以用來動態繼承Java類或者實現介面,很多知名的開源專案中用到了它.Hibernate用它來實現PO位元組碼的動態生成,非常核心的庫,必需的jar包。

chartengineapi.jar:不大清楚,大概是Birt關於字型的類庫。

com.ibm.icu_3.6.1.v10070417.jar:從3.2版本開始,eclipse就增加了一個com.ibm.icu外掛,用於增強對多語言的支援。應該是沒用的。

commons-beanutils.jar:下面幾個帶“commons”的都是Apache Commons包中的一個,這裡是被hibernate使用的,估計在工程中沒有全部用到這些包,所以有的應該能刪去。本包包含了一些Bean工具類類,是必須使用的jar包。

commons-cli-1.0.jar:這是一個處理命令的工具。比如main方法輸入的string[]需要解析。你可以預先定義好引數的規則,然後就可以呼叫CLI來解析。

commond-collections.jar:包含了一些Apache開發的集合類,功能比java.util.*強大。必須使用的jar包.

commons-digester.jar:它能方便地將XML文件所定義的元素轉化為JAVA物件,其實它的用法有點象棧(當然內在的原理就是那個古老的東西,只是提供了更高一層的封裝)。

commons-discovery-0.2.jar:discovery模式的實現,提供定位與例項化類或其他資源的通用方法。使用最好的演算法得到介面的所有實現。當用戶想找到所有的提供某一服務的提供商時,這將特別有用

commons-fileupload.jar:jsp的上傳檔案功能

commons-io.jar:可以看成是java.io的擴充套件

commons-lang.jar:包含了一些資料型別工具類,是java.lang.*的擴充套件。必須使用的jar包。

commons-pool-1.2.jar:DBCP資料庫連線池,Apache的Jakarta組織開發的,Tomcat4的連線池也是DBCP。

commons-validator.jar:用來幫助進行驗證的工具。比如驗證Email字串,日期字串等是否合法。

coreapi.jar:一種應用的核心 類庫,這裡是Birt的核心包。

dataadapterapi.jar:Birt的有關資料處理的包,具體作用還沒摸清楚。

dom4j-1.4.jar:是一個Java的XML API,類似於jdom,用來讀寫XML檔案的。Hibernate使用dom4j解析XML配置檔案和XML對映元檔案。必需的。

dteapi.jar:Birt的有關資料處理的包,具體作用還沒摸清楚。

dwr.jar:dwr的核心包

ehcache-1.2.jar:Hibernate可以使用不同cache快取工具作為二級快取。EHCache是預設的cache快取工具。如果沒有其它的可選快取工具,則為必需的。

engineapi.jar:Birt的有關資料集的包

FCKeditor.jar:支援FCKEditor的圖片檔案上傳和瀏覽的包

flute.jar:有關解析css的類庫,誰的還沒弄清楚

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

hibernate3.jar:hibernate3的核心類庫。

itext.jar:java:是用於生成PDF文件的一個java類庫。通過iText不僅可以生成PDF或rtf的文件,而且可以將XML、Html檔案轉化為PDF檔案。

iTextAsian.jar:itext中關於亞洲編碼的類庫,在這裡用於中文字型的輸入。

jasperreports.jar:有關報表功能的類庫

javamail.jar:javamail的核心類,提供了mail傳送的基本介面。

jaxrpc.jar:(java APIs for XML-Based Remote Procedure Call,JAX-RPC)將XML 型別轉換為 Java 型別,以確保 Web 服務客戶機和基於Java 的應用程式之間能夠進行平穩的資料交換。是spring需要的。

jenkov-prizetags-bin-3.2.0.jar:一個集許多功能於一身的Jsp標籤庫。其中最受歡迎的Tree Tag,這個Tag可以為不同節點指定

js.jar:java關於處理javascript的類庫。

jstl.jar:(jsp standard taglib)jstl的核心標籤庫。

jta.jar:java的事務規範,當用到事務處理時是必需的,hebernate中用到。

jxl.jar:(java excel api)是一個韓國人寫的處理Excel的類庫,能夠方便的匯入和到處Excel。

log4j.jar:日誌包,可以更加詳細的記錄日誌。可選的。

modelapi.jar:birt關於報表生成的類庫,具體功能有待考究。

mysql-connector-java-5.0.5-bin.jar:mysql的資料庫聯接驅動,符合JCA 規範,如果你在App Server上把Hibernate配置為mysql資料庫聯接池的話,就需要這個jar。

ognl.jar:OGNL(Object Graph Navigation Language)是一種表示式語言,使用它可以使表示式與java物件中的getter和setter屬性繫結,且一個OGNL表示式可以進行存和取兩方面的操作.ognl.jar是java對ognl的支援,webwork載入的。

org.eclipse.birt.report.viewer.nl1_2.2.0.v20070526-1010.jar:有關Birt的報表生成的類庫

org.eclipse.emf.common_2.2.1.v200702131851.jar:  EMF根據ecore建模(可以和schema的xsd相互轉換)生成強型別的EMF程式碼. 這個強型別更強的地方是可以取得meta資訊,從而可以用於校驗和介面輔助資訊的生成.類似於動態bean,屬性也可以根據名稱動態取得,這幾個類庫都與 Birt的報表生成有關

org.eclipse.emf.ecore.xmi_2.2.2.v200702131851.jar

org.eclipse.emf.ecore_2.2.2.v200702131851.jar

oscore.jar:webwork的一個通用功能類庫

poi.jar:Apache的操作資料轉換的類庫,能匯入和到處Excel,與jxl.jar功能重複。

proxool-0.9.0RC3.jar:是一個連線池,如果你準備用這個連線池,就需要這個jar包。

quartz-1.6.0.jar:一個定時器

rife-continuations.jar:rife原來是一個基於元件模型的Java Web框架,被webwork整合。

saaj.jar:SOAP with Attachments API for Java。能為java提供按照SOAP規範的收發資訊。誰帶進來的有待考究。

sac.jar:Simple API for CSS,java處理CSS的類。

scriptapi.jar:能夠在Java中使用指令碼語言引擎,在指令碼語言和Java之間交換資料。可能是Birt引入的。

sitemesh.jar:Sitemesh 是一個基於WEB頁面的佈局、裝飾以及應用整合的開源框架。它能幫助我們在由大量頁面構成的專案中建立一致的頁面佈局和外觀,如一致的導航條,一致的 banner,一致的版權,等等。它不僅僅能處理動態的內容,如jsp,php,asp等產生的內容,它也能處理靜態的內容,使得它的內容也符合你的頁面結構的要求.sitemesh.jar是其類庫

spring.jar:spring的核心類庫。

standard.jar:jstl的類庫,包含TLD 和標記控制代碼。

velocity-dep.jar: webwork的包。依賴的Velocity類庫

velocity-tools-view.jar:同上

velocity.jar:webwork帶來的包。是一個的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java程式碼定義的物件。

webwork-2.2.5.jar:webwork的核心類庫。

wsdl4j-1.5.1.jar:一個可擴充套件的 WSDL 分析框架,WSIF 在此基礎上進行構建。AXIS必需的包。

xwork.jar:包含webwork構建所依賴的xwork類庫,webwork是基於xwork的

(1)hibernate3.jar:
Hibernate的核心庫,沒有什麼可說的,必須使用的jar包

(2)cglib-asm.jar:
CGLIB庫,Hibernate用它來實現PO位元組碼的動態生成,非常核心的庫,必須使用的jar包

(3)dom4j.jar:
dom4j是一個Java的XML API,類似於jdom,用來讀寫XML檔案的。dom4j是一個非常非常優秀的Java XML API,具有效能優異、功能強大和極端易用使用的特點,同時它也是一個開放原始碼的軟體,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,對主流的Java XML API進行的效能、功能和易用性的評測,dom4j無論在那個方面都是非常出色的。我早在將近兩年之前就開始使用dom4j,直到現在。如今你可以看到越 來越多的Java軟體都在使用dom4j來讀寫XML,特別值得一提的是連Sun的JAXM也在用dom4j。這是必須使用的jar 包,Hibernate用它來讀寫配置檔案。

(4)odmg.jar:
ODMG是一個ORM的規範,Hibernate實現了ODMG規範,這是一個核心的庫,必須使用的jar包。

(5)commons-collections.jar:
Apache Commons包中的一個,包含了一些Apache開發的集合類,功能比java.util.*強大。必須使用的jar包。

(6)commons-beanutils.jar:
  Apache Commons包中的一個,包含了一些Bean工具類類。必須使用的jar包。

(7)commons-lang.jar:
Apache Commons包中的一個,包含了一些資料型別工具類,是java.lang.*的擴充套件。必須使用的jar包。

(8)commons-logging.jar:
Apache Commons包中的一個,包含了日誌功能,必須使用的jar包。這個包本身包含了一個Simple Logger,但是功能很弱。在執行的時候它會先在CLASSPATH找log4j,如果有,就使用log4j,如果沒有,就找JDK1.4帶的 java.util.logging,如果也找不到就用Simple Logger。commons-logging.jar的出現是一個歷史的的遺留的遺憾,當初Apache極力遊說Sun把log4j加入JDK1.4, 然而JDK1.4專案小組已經接近釋出JDK1.4產品的時間了,因此拒絕了Apache的要求,使用自己的java.util.logging,這個包 的功能比log4j差的很遠,效能也一般。

後來Apache就開發出來了commons-logging.jar用來相容兩個logger。因此用commons-logging.jar寫的 log程式,底層的Logger是可以切換的,你可以選擇log4j,java.util.logging或者它自帶的Simple Logger。不過我仍然強烈建議使用log4j,因為log4j效能很高,log輸出資訊時間幾乎等於System.out,而處理一條log平均只需 要5us。你可以在Hibernate的src目錄下找到Hibernate已經為你準備好了的log4j的配置檔案,你只需要到Apache 網站去下載log4j就可以了。commons-logging.jar也是必須的jar包。

使用Hibernate必須的jar包就是以上的這幾個,剩下的都是可選的。
ant.jar:
Ant編譯工具的jar包,用來編譯Hibernate原始碼的。如果你不準備修改和編譯Hibernate原始碼,那麼就沒有什麼用,可選的jar包

optional.jar:
Ant的一個輔助包。

c3p0.jar:
C3PO是一個數據庫連線池,Hibernate可以配置為使用C3PO連線池。如果你準備用這個連線池,就需要這個jar包。

proxool.jar:
也是一個連線池,同上。

commons-pool.jar, commons-dbcp.jar:
DBCP資料庫連線池,Apache的Jakarta組織開發的,Tomcat4的連線池也是DBCP。

實際上Hibernate自己也實現了一個非常非常簡單的資料庫連線池,加上上面3個,你實際上可以在Hibernate上選擇4種不同的資料庫連線 池,選擇哪一個看個人的偏好,不過DBCP可能更通用一些。另外強調一點,如果在EJB中使用Hibernate,一定要用App Server的連線池,不要用以上4種連線池,否則容器管理事務不起作用。

connector.jar:
JCA 規範,如果你在App Server上把Hibernate配置為Connector的話,就需要這個jar。不過實際上一般App Server肯定會帶上這個包,所以實際上是多餘的包。

jaas.jar:
JAAS是用來進行許可權驗證的,已經包含在JDK1.4裡面了。所以實際上是多餘的包。

jcs.jar:
如果你準備在Hibernate中使用JCS的話,那麼必須包括它,否則就不用。

jdbc2_0-stdext.jar:
JDBC2.0的擴充套件包,一般來說資料庫連線池會用上它。不過App Server都會帶上,所以也是多餘的。

jta.jar:
JTA規範,當Hibernate使用JTA的時候需要,不過App Server都會帶上,所以也是多餘的。

junit.jar:
Junit包,當你執行Hibernate自帶的測試程式碼的時候需要,否則就不用。

xalan.jar, xerces.jar, xml-apis.jar:
Xerces是XML解析器,Xalan是格式化器,xml-apis實際上是JAXP。一般App Server都會帶上,JDK1.4也包含了解析器,不過不是Xerces,是Crimson,效率比較差,不過Hibernate用XML只不過是讀取 配置檔案,效能沒什麼緊要的,所以也是多餘的。

ant-1.63.jar Ant 的核心包,在構建Hibernate 時會用到
antlr-2.7.5H3.jar 語言轉換工,Hibernate利用它實現 HQL 到 SQL的轉換
asm.jar/asm-attrs.jar ASM 位元組轉換庫
c3p0-0.8.5.2.jar C3PO JDBC 連線池工具
cglib-2.1.jar 高效的程式碼生成工具, Hibernate用它在執行時擴充套件 Java類和實現 Java 介面
commons-collections-2.1.1.jar Apache 的工具集,用來增強Java對集合的處理能力
commons-logging-1.0.4.jar Apache 軟體基我組所提供的日誌工具
concurrent-1.3.2.jar 執行緒同步工具,在使用JBoss 的樹狀快取時需要用到
connector.jar 用連線多個應用伺服器的標準聯結器
dom4j-1.6.jar dom4j XML 解析器
ehcache-1.1.jar 快取工具.在沒有提供其他快取工具時,這個快取工具是必不可少的
jaas.jar 標準的 Java 許可權和認證服務包
jaxen-1.1-beta-4.jar 通用的 XPath 處理引擎
jboss-cache.jar JBoss 的一種樹狀快取實現工具
jboss-common.jar Jboss 的基礎包,在使用 JBoss 的樹狀快取時必須有此包
jboss-jmx.jar JBoss 的 JMX 實現包
jboss-system.jar JBoss 的核心,包括伺服器和部署引擎
jdbc2_0-stdext.jar 標準的 JDBC 2.0 擴充套件API
jgroups2.2.7.jar 網路通訊工具包
jta.jar 標準的 JAVA 事務處理介面
junit-3.8.1.jar JUnit 測試框架
log4.j-1.2.9.jar log4j 庫,Apache 的日誌工具
oscache-2.1.jar Java 物件的快取工具
proxool-0.8.3.jar Proxool JDBC 連線池 工具
swarmcache-1.0rc2.jar Hibernate 可以使用的一種快取工具
versioncheck.jar 版本檢查工具包,用於在構建 Hibernate 的時候檢查輔助 jar 包檔案