java 使用的各種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用它來讀寫配置檔案。
antlr-2.7.6.jar簡介
專案中沒有新增antlr-2.7.6.jar,hibernate不會執行hql語句並且會報NoClassDefFoundError: antlr/ANTLRException錯誤
ejb3-persistence.jar簡介
規範內容包括Bean提供者,應用程式裝配者,EJB容器,EJB配置工具,EJB服務提供者,系統管理員。這裡面,EJB容器是EJB之所以能夠執行的核心。EJB容器管理著EJB的建立,撤消,啟用,去活,與資料庫的連線等等重要的核心工作。
hibernate3.jar簡介
Hibernate的庫,必須使用的jar包
hibernate-annotations.jar簡介
Hibernate annotation可以減輕我們每一次都需要配置XXX.hbm.xml,可以減輕dba的工作量,使程式從一個數據庫移植到另一個數據庫更輕鬆,這些工作都交於hibernate內部自動維護
Hibernate3.3.2的JAR包簡介
包名 |
位置 |
用途 |
hibernate3.jar |
/hibernate |
核心JAR包 |
antlr.jar |
/hibernate/lib/required |
Another Tool for Language Recognition,可以構造語言識別器,解析HQL需要 |
commons-collections.jar |
/hibernate/lib/required |
包含了一些Apache開發的集合類,功能比java.util.*強大 |
dom4j.jar |
/hibernate/lib/required |
越來越多的Java軟體都在使用dom4j來操作XML,Hibernate也不例外 |
javassist.jar |
/hibernate/lib/required |
操作位元組碼,跟cglib相關 |
jta.jar |
/hibernate/lib/required |
定義JTA規範的JAR包,當Hibernate使用JTA的時候需要 |
slf4j.jar |
/hibernate/lib/required |
整合各種日誌框架的工具 |
slf4j-nop.jar |
/slf4j |
包含了對slf4j.jar的實現類 |
注意:slf4.jar和slf4j-nop.jar之間的版本需要匹配,如果Hibernate中使用早期的slf4j.jar,可以從slf4j官方網站下載新的JAR包將其置換掉
如果要使用Annotation,還需要下面的JAR包:
包名 |
位置 |
用途 |
hibernate-annotations.jar |
/hibernate-annotations |
使用Hibernate Annotation的核心JAR包 |
ejb3-persistence.jar |
/hibernate-annotations/lib |
實體類中使用的註解都是在這個JAR包中定義的 |
hibernate-commons-annotations.jar |
/hibernate-annotations/lib |
使用javax.persistence下的Annotation可以不依賴Hibernate的JAR包,這樣的話可以切換到其他的ORM框架
如果要使用log4j,則需要新增相關的JAR包:
包名 |
位置 |
用途 |
log4j.jar |
很多框架中都有 |
生成使用者定製日誌 |
slf4j-log4j.jar |
/slf4j |
將slf4j和log4j關聯起來的JAR包 |
當然別忘記了在類路徑下放log4j的配置檔案哦
Spring的相關jar包簡介
(1) spring-core.jar
這個jar檔案包含Spring框架基本的核心工具類,Spring其它元件要都要使用到這個包裡的類,是其它元件的基本核心,當然你也可以在自己的應用系統中使用這些工具類。
(2) spring-beans.jar
這個jar檔案是所有應用都要用到的,它包含訪問配置檔案、建立和管理bean以及進行Inversion of Control / Dependency Injection(IoC/DI)操作相關的所有類。如果應用只需基本的IoC/DI支援,引入spring-core.jar及spring-beans.jar檔案就可以了。
(3) spring-aop.jar
這個jar檔案包含在應用中使用Spring的AOP特性時所需的類。使用基於AOP的Spring特性,如宣告型事務管理(Declarative Transaction Management),也要在應用裡包含這個jar包。
(4) spring-context.jar
這個jar檔案為Spring核心提供了大量擴充套件。可以找到使用Spring ApplicationContext特性時所需的全部類,JDNI所需的全部類,UI方面的用來與模板(Templating)引擎如Velocity、FreeMarker、JasperReports整合的類,以及校驗Validation方面的相關類。
(5) spring-dao.jar
這個jar檔案包含Spring DAO、Spring Transaction進行資料訪問的所有類。為了使用宣告型事務支援,還需在自己的應用裡包含spring-aop.jar。
(6) spring-hibernate.jar
這個jar檔案包含Spring對Hibernate 2及Hibernate 3進行封裝的所有類。
(7) spring-jdbc.jar
這個jar檔案包含對Spring對JDBC資料訪問進行封裝的所有類。
(8) spring-orm.jar
這個jar檔案包含Spring對DAO特性集進行了擴充套件,使其支援 iBATIS、JDO、OJB、TopLink,因為Hibernate已經獨立成包了,現在不包含在這個包裡了。這個jar檔案裡大部分的類都要依賴spring-dao.jar裡的類,用這個包時你需要同時包含spring-dao.jar包。
(9) spring-remoting.jar
這個jar檔案包含支援EJB、JMS、遠端呼叫Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的類。
(10) spring-support.jar
這個jar檔案包含支援快取Cache(ehcache)、JCA、JMX、郵件服務(Java Mail、COS Mail)、任務計劃Scheduling(Timer、Quartz)方面的類。
(11) spring-web.jar
這個jar檔案包含Web應用開發時,用到Spring框架時所需的核心類,包括自動載入WebApplicationContext特性的類、Struts與JSF整合類、檔案上傳的支援類、Filter類和大量工具輔助類。
(12) spring-webmvc.jar
這個jar檔案包含Spring MVC框架相關的所有類。包含國際化、標籤、Theme、檢視展現的FreeMarker、JasperReports、Tiles、Velocity、XSLT相關類。當然,如果你的應用使用了獨立的MVC框架,則無需這個JAR檔案裡的任何類。
(13) spring-mock.jar
這個jar檔案包含Spring一整套mock類來輔助應用的測試。Spring測試套件使用了其中大量mock類,這樣測試就更加簡單。模擬HttpServletRequest和HttpServletResponse類在Web應用單元測試是很方便的。
Spring包依賴說明:
1) spring-core.jar需commons-collections.jar,spring-core.jar是以下其它各個的基本。
2) spring-beans.jar需spring-core.jar,cglib-nodep-2.1_3.jar
3) spring-aop.jar需spring-core.jar,spring-beans.jar,cglib-nodep-2.1_3.jar,aopalliance.jar
4) spring-context.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,commons-collections.jar,aopalliance.jar
5) spring-dao.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-context.jar
6) spring-jdbc.jar需spring-core.jar,spring-beans.jar,spring-dao.jar
7) spring-web.jar需spring-core.jar,spring-beans.jar,spring-context.jar
8) spring-webmvc.jar需spring-core.jar/spring-beans.jar/spring-context.jar/spring-web.jar
9) spring-hibernate.jar需spring-core.jar,spring- beans.jar,spring-aop.jar,spring-dao.jar,spring-jdbc.jar,spring- orm.jar,spring-web.jar,spring-webmvc.jar
10) spring-orm.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-dao.jar,spring-jdbc.jar,spring-web.jar,spring-webmvc.jar
11) spring-remoting.jar需spring-core.jar,spring-beans.jar,spring- aop.jar,spring-dao.jar,spring-context.jar,spring-web.jar,spring- webmvc.jar
12) spring-support.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar
13) spring-mock.jar需spring-core.jar,spring-beans.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar
Struts2的相關jar包簡介
struts2-core-2.1.6.jar
struts2的核心包
freemarker-2.3.13.jar
FreeMarker是一個模板引擎,一個基於模板生成文字輸出的通用工具
commons-logging-1.0.4.jar
Jakarta的通用日誌記錄包
ognl-2.6.11.jar
支援ognl表示式
xwork-2.1.2.jar
xwork的包 由於Struts2是由xwork的延伸 有些類依然關聯著 xwork的類
commons-fileupload-1.2.1.jar , commons-io.jar
struts的上傳下載 兩者缺一不可
struts2-spring-plugin-2.1.8.1.jar
spring外掛
struts2-convention-plugin-2.2.1.1
零配置實現 省去使用struts.xml進行Action置配的麻煩
jaxen-1.1-beta-6.jar簡介
他是是Xpath支援包
commons-digester.jar簡介
Digester基於規則的XML文件解析,主要用於XML到Java物件的對映.
commons-beanutils.jar簡介
提供對Java 反射和自省API的包裝.
aspectjweaver.jar 簡介
用於在Spring 2.0中整合AspectJ AspectJ LTW織入器
ognl.jar簡介
OGNL是Object-Graph Navigation Language的縮寫,它是一種功能強大的表示式語言(Expression Language,簡稱為EL),通過它簡單一致的表示式語法,可以存取物件的任意屬性,呼叫物件的方法,遍歷整個物件的結構圖,實現欄位型別轉化等功能。它使用相同的表示式去存取物件的屬性。
cglib-asm.jar簡介
CGLIB庫,Hibernate用它來實現PO位元組碼的動態生成,非常核心的庫,必須使用的jar包
odmg.jar簡介
ODMG是一個ORM的規範,Hibernate實現了ODMG規範,這是一個核心的庫,必須使用的jar包。
commons-collections.jar簡介
Apache Commons包中的一個,包含了一些Apache開發的集合類,功能比java.util.*強大。必須使用的jar包。
commons-beanutils.jar簡介
Apache Commons包中的一個,包含了一些Bean工具類類。必須使用的jar包。
Java類庫中自帶的各個主要包的作用
java.util是JAVA的utility工具包,包含一些使用工具類,如定義系統特性、使用與日期日曆相關的函式等。
java.lang是JAVA的language核心語言包;如String、Math、Integer、System、Thread,提供常用的功能。特殊之處是不需要匯入,是作為預設匯入的包。
java.awt是JAVA的abstractwindow toolkit,抽象視窗工具包;包含了構成抽象視窗共具體的多個類,這些類用於構建和管理應用程式的圖形使用者(GUI)。
java.applet是建立APPLET的必須包;包含applet執行時所需要的一些類。
java.net是JAVA有關網路操作的包。
java.io是JAVA的輸入輸出流的包。
java.sql是JAVA的資料庫操作包。
javax.swing是新的介面包。
java.applet 支援小應用程式的結構
java.awt 提供圖形使用者介面的能力
java.awt.color 支援顏色空間和外形
java.awt.datatransfer 與系統的剪貼簿交換資料
java.awt.dnd 支援拖拉操作
java.awt.event 處理事件
java.awt.font 描述多種字型型別
java.awt.geom 允許你使用幾何形狀
java.awt.im 允許編輯元件中日文,中文,韓文的的輸入
java.awt.im.spi 支援二選一的輸入裝置 (在java 2, v1.3中加入)
java.awt.image 處理影象
java.awt.image.renderable 支援獨立顯示影象
java.awt.print 支援一般的列印功能
java.beans 允許你建立軟體元件
java.beans.beancontext 為bean 提供可執行環境
java.io 輸入輸出資料
java.lang 提供核心功能
java.lang.ref 使能與垃圾回收互動
java.lang.reflect 執行時分析程式碼
java.math 處理大整數和十進位制數
java.net 支援網路功能
java.rmi 支援遠端方法呼叫
java.rmi.activation 啟用永久物件
java.rmi.dgc 管理分佈垃圾回收
java.rmi.registry 對映名稱到遠端物件引用
java.rmi.server 支援遠端方法呼叫
java.security 處理證書,金鑰,摘要,簽名和其他安全功能
java.security.acl 管理訪問控制列表
java.security.cert 分析和管理證書
java.security.interfaces 為DSA(數字簽名演算法)定義介面
java.security.spec 設定金鑰和演算法引數
java.sql 與SQL(結構化查詢語言)資料庫互動
java.text 格式化,查詢和處理文字
java.util 包含一般工具
java.util.jar 生成和開啟JAR檔案
java.util.zip 讀寫壓縮或解壓縮檔案