各Jar包说明:
activation.jar
与javaMail有关的jar包,使用javaMail时应与mail.jar一块儿加入到lib中去,具体负责mail的数据源和类型等。javascript
antlr.jar
Hibernate用这个包来生成HQL语句并执行,是hibernate的必须包,没有它就会报NoClassDefFoundError: antlr/ANTLRException错误。php
ajaxtags-1.2-beta3.jar
ajax 提供的标签库,使 用户能像使用 jsp 普通标签同样使用 ajax。java
ant.jar
是 ant 编译工具用的jar包,在工程中不用添加。node
asm.jar
Hebernate的包,Hibernate在运行时使用这个代码生成库加强类(与java反射机制联合使用).ASM字节码库,cglib.jar包依赖的包,必需的jar包。web
aopalliance.jar
Spring-aop.jar的依赖包,是AOP的API包,里面包含了针对面向切面的接口。一般Spring等其它具有动态织入功能的框架依赖此包。ajax
axis-ant.jar
是 Axis 为支持 Ant 构建,提供了的文件。该文件包含三个可选任务(task)的定义和实现:axis-wsdl2java,axis-java2wsdl 和 axis-admin。正则表达式
aspectjweaver.jar
用于在Spring 2.0中集成AspectJ AspectJ LTW织入器。Spring 3.0之后版本就再也不依赖此包了而是使用Maven的pom进行管理,aspectjweaver是做为可选依赖项引入。spring
concurrent/backport-util-concurrent.jar
用于构建spring框架,以及提供对spring框架backport-concurrent的支持。数据库
c3p0.jar
C3PO是一个数据库链接池,Hibernate能够配置为使用C3PO链接池。若是你准备用这个链接池,就须要这个jar包。编程
casclient.jar
cas单点登陆客户端程序所需jar包。
cglib/cglib-nodep-2.1_3.jar
全称是Code Generation Library,它能够用来动态继承Java类或者实现接口,不少知名的开源项目中用到了它.Hibernate用它来实现PO字节码的动态生成,很是核心的库,必需的jar包。
chartengineapi.jar
是 Birt 关于字体的类库。
commons-pool.jar,commons-dbcp.jar
DBCP数据库链接池,Apache的Jakarta组织开发的,Tomcat4的链接池也是DBCP。 实际上Hibernate本身也实现了一个很是很是简单的数据库链接池,加上上面3个,你实际上能够在Hibernate上选择4种不一样的数据库链接池,选择哪个看我的的偏好,不过DBCP可能更通用一些。另外强调一点,若是在EJB中使用Hibernate,必定要用App Server的链接池,不要用以上4种链接池,不然容器管理事务不起做用。
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差的很远,性能也通常。
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-codec.jar
项目中用来处理经常使用的编码方法的工具类包,例如DES、SHA一、MD五、Base64等等。
jakarta-commons/commons-attributes-api.jar,jakarta-commons/commons-attributes-compiler.jar
required for building the framework, required at runtime when using Spring’s Commons Attributes support Attributes子项目能够供java开发人员来使用C#/.Net风格的属性.Attributes的功能与Tiger(Java5.0)中的annotations是一致的,可能5.0中的annotations的功能更强大一些。可是对于使用Java低版本sdk的用户来讲,Commons-Attributes仍是一个选择。Apache开发人员的建议是,若是能够升级到5.0,那么尽可能升级到5.0,而不是使用Attributes。
jakarta-commons/commons-digester.jar
digester组件简化了xml文件处理操做,能将xml文件按照事先肯定的规则(采用编码形式或xml配置文件形式),映射成java对象。它所依赖的组件是:commons-logging(推荐1.1版本),BeanUtils(推荐1.8版本),还有须要jdk1.5.
commons-discovery.jar
提供工具来定位资源 (包括类) ,经过使用各类模式来映射服务/引用名称和资源名称。
jakarta-commons/commons-fileupload.jar r
附件上传下载用的。
jakarta-commons/commons-httpclient.jar
HttpClient 是 Apache Jakarta Commons中的一个子项目,它为开发人员提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,Commons-HttpClient项目就是专门设计并用来简化HTTP客户端与服务器进行各类通信编程实现的——它能实现常规的HTTP客户端程序(也就是浏览器程序)的各类功能。 HttpClient组件为开发Web浏览器、Web Service客户端提供了很大的便利。
jakarta-commons/commons-io.jar
算是 java.io 的扩展,特别是在上传、下载附件时会用到。
jakarta-commons/commons-validator.jar
主要用于处理action里面的validate函数的使用以及addFieldError和addActionError等信息,好比验证 Email 字符串,日期字符串等是否合法。使用以前须要在struts-config里面配置。
dom4j.jar:
是一个Java的XML API,相似于jdom,用来读写XML文件的。Hibernate使用dom4j解析XML配置文件和XML映射元文件。必需的。
dozer.jar
dozer自动转换数据库和实体类之间的数据类型,比BeanUtils更灵活,同时能够很容易地跟spring集成。也能够用注解@Mapping(“asstManagerId”)来代替xml配置。
dwr.jar
DWR是一个Java开源库,帮助你实现Ajax网站。它可让你在浏览器中的Javascript代码调用Web服务器上的Java,就像在Java代码就在浏览器中同样。
DWR主要包括两部分:
在服务器上运行的Servlet来处理请求并把结果返回浏览器。
运行在浏览器上的Javascript,能够发送请求,并动态改变页面。
DWR会根据你的Java类动态的生成Javascript代码。这些代码的魔力是让你感受整个Ajax调用都是在浏览器上发生的,但事实上是服务器执行了这些代码,DWR负责数据的传递和转换。
edtftpj.jar
实现ftp上传下载功能,可实现断点续传,解决中文乱码问题。
ehcache.jar
是hibernate默认的缓存provider,EhCache是一个纯Java的进程内缓存框架,具备快速、精干等特色,是Hibernate中默认的CacheProvider,这已经集成到Hibernate jar包里去了。Ehcache能够直接使用。也能够和Hibernate对象/关系框架结合使用。还能够作Servlet缓存。Cache存储方式:内存或磁盘。
ejb3-persistence.jar /hibernate-annotations/lib
java bean对象持久化的支持包,实体类中使用的注解都是在这个JAR包中定义的esb-client-j .jar 未知
ezmorph.jar
EZMorph是一个简单的java类库用于将一种对象转换成另一种对象。EZMorph原先是Json-lib项目中的转换器。EZMorph支持原始数据类型(Primitive),对象(Object),多维护数组转换与DynaBeans的转换。EZMorph began life as the converter package on Json-lib but seeing that the features provided were more generic than JSON parsing, it became a project on its own.
freemarker.jar
Freemarker是一个强大的模板引擎,相比velocity而言,其强大的过程调用、递归、闭包回调,功能让freemarker能够完成几乎全部咱们所想的功能。freemarker首先吸引眼球的是它强大的过程调用和递归处理能力,其次则是xml风格的语法结构有着明显的边界,不象velocity要注意段落之间要留空格。
caucho/hessian-3.0.20.jar
Hessian是一个轻量级的远程处理onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,由于采用的是二进制协议,因此它很适合于发送二进制数据
hibernate-annotations.jar
注解配置,在JPA注释体式格式来映射实体。
hibernate-commons-annotations.jar
常见的反射代码用于支持注解处理。
hibernate-core.jar
Hibernate的核心模块。
hibernate-ehcache.jar
缓存工具.在没有提供其余缓存工具时,这个缓存工具是必不可少的。
hibernate-entitymanager.jar
Hibernate EntityManager实现了EJB3.0 JPA规范。Hibernate Java Persistence provider经过了Sun TCK测试和彻底认证,你能够在Java SE 5.0,或Java EE 5.0以上的任何环境里使用Hibernate Java Persistence provider。
hibernate-infinispan.jar
Infinispan 是个开源的数据网格平台。它公开了一个简单的数据结构(一个Cache)来存储对象。虽然能够在本地模式下运行In?nspan,但其真正的价值在于分布 式,在这种模式下,In?nispan能够将集群缓存起来并公开大容量的堆内存
hibernate-jmx.jar
支持JMX(Java ManagementExtensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX能够跨越一系列异构操做系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
hibernate-memcached.jar
是hibernate配置二级缓存所用到的包。
hibernate-oscache.jar
支持oscache的缓冲解决方案。(OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面以内实现快速内存缓冲的功能。 OSCache是个一个普遍采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。)
hibernate-proxool.jar
支持Proxool链接池,性能与DBCP不相上下。
hibernate-swarmcache.jar
支持SwarmCache,一个简单而功能强大的分布式缓存机制。它使用IP组播来有效地在缓存的实例之间进行通讯。它是快速提升集群式Web应用程序的性能的理想选择。
hibernate-validator.jar
itext.jar:java
是用于生成 PDF 文档的一个 java 类库。经过 iText 不只能够生成 PDF 或 rtf 的文档,并且能够将 XML、Html 文件转化为 PDF 文件。
iTextAsian.jar
itext 中关于亚洲编码的类库,在这里用于中文字体的输入。
jackson-core-asl.jar
一个高性能的解析器的核心库,与json解析有关
jackson-mapper-asl.jar
json解析有关
javamail.jar
javamail 的核心类,提供了 mail 发送的基本接口。
jaxrpc.jar:(
java APIs for XML-Based Remote Procedure Call,JAX-RPC)将 XML 类型转换为 Java 类型,以确保 Web 服务客户机和基于 Java 的应用程序之间可以进行平稳的数据交换。是 spring 须要的。
jakarta-oro.jar
Jakarta-ORO是正则表达式库,它是最全面的正则表达式API之一
javassist.jar
Javassite是一个强大的新的用于字节码工程的库,它容许开发人员给编译过的类增长方法、修改方法等等。不像其余的相似的包,你不须要知道java字节码的知识也不用了解一个class文件的结构,就能够实现上面描述的功能。
jaxb-api.jar/jaxb-impl.jar
Java Architecture for XML Binding (JAXB) 是一个业界的标准,是一项能够根据XML Schema产生Java类的技术。该过程当中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容从新写到XML实例文档。从另外一方面来说,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。
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
日志包,能够更加详细的记录日志。可选的。
ognl.jar
OGNL(Object Graph Navigation Language)是一种表达式语言,使用它可使表达式与java 对象中的getter 和setter 属性绑定,且一个OGNL 表达式能够进行存和取两方面的操做.ognl.jar 是 java 对 ognl 的支持,webwork 加载的。
oscore.jar
作开源业务流程webwork所须要的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是其类库
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 的
spring.jar
是包含有完整发布的单个jar包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它全部jar包的内容,由于只有在开发环境下才会用到spring-mock.jar来进行辅助测试, 正式应用系统中是用不得这些类的。除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户能够根据本身的须要来选择组合本身的jar包,而没必要引入整个spring.jar的全部类文件。Spring3之后就没有这个Jar包了。
spring-core.jar
这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,固然你也能够在本身的应用系统中使用这些工具类。
spring-beans.jar
这 个jar文件是全部应用都要用到的,它包含访问配置文件、建立和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操做相关的全部类。若是应用只需基本的IoC/DI支持,引入spring-core.jar及spring- beans.jar文件就能够了。
spring-aop.jar
这个jar文件包含在应用中使用Spring的AOP特性时所需的类。使用基于AOP的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。
spring-context.jar
这个jar文件为Spring核心提供了大量扩展。能够找到使用Spring ApplicationContext特性时所需的所有类,JDNI所需的所有类,UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。
spring-dao.jar
这个jar文件包含Spring DAO、Spring Transaction进行数据访问的全部类。为了使用声明型事务支持,还需在本身的应用里包含spring-aop.jar。
spring-hibernate.jar
这个jar文件包含Spring对Hibernate 2及Hibernate 3进行封装的全部类。
spring-jdbc.jar
这个jar文件包含对Spring对JDBC数据访问进行封装的全部类。
spring-orm.jar
这个jar文件包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,由于Hibernate已经独立成包了,如今不包含在这个包里了。这个jar文件里大部分的类都要依赖 spring-dao.jar里的类,用这个包时你须要同时包含spring-dao.jar包。
spring-remoting.jar
这个jar文件包含支持EJB、JMS、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。
spring-support.jar
这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。
spring-web.jar
这个jar文件包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。
spring-webmvc.jar
这个jar文件包含Spring MVC框架相关的全部类。包含国际化、标签、Theme、视图展示的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。固然,若是你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。
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
Hiberante框架其余包依赖
asm.jar、dom4j.jar、commons-collections.jar、commons-beanutils.jar、commons-lang.jar、commons-logging.jar、cglib-nodep.jar
写这篇博客让我累死多少脑细胞呀,为最求严谨把我之前作的项目都翻出来了,累都快吐血了。技术是在突飞猛进变化,有些思想、理念也会快过期,但愿个人这篇博客不会过早的被淘汰掉呀。