J2EE框架Jar包说明及各框架下的Jar包依赖关系(二)
各Jar包说明:
activation.jar
与javaMail有关的jar包,使用javaMail时应与mail.jar一起加入到lib中去,具体负责mail的数据源和类型等。
antlr.jar
Hibernate用这个包来生成HQL语句并执行,是hibernate的必须包,没有它就会报NoClassDefFoundError: antlr/ANTLRException错误。
ajaxtags-1.2-beta3.jar
ajax 提供的标签库,使 用户能像使用 jsp 普通标签一样使用 ajax。
ant.jar
是 ant 编译工具用的jar包,在工程中不用添加。
asm.jar
Hebernate的包,Hibernate在运行时使用这个代码生成库增强类(与java反射机制联合使用).ASM字节码库,cglib.jar包依赖的包,必需的jar包。
aopalliance.jar
Spring-aop.jar的依赖包,是AOP的API包,里面包含了针对面向切面的接口。通常Spring等其它具备动态织入功能的框架依赖此包。
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是作为可选依赖项引入。
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、SHA1、MD5、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
写这篇博客让我累死多少脑细胞呀,为最求严谨把我以前做的项目都翻出来了,累都快吐血了。技术是在日新月异变化,有些思想、理念也会快过时,希望我的这篇博客不会过早的被淘汰掉呀。