引言:在开发过程中,特别是在搭建一些个人开发框架的时候,经常会遇到各种版本的JAR包冲突的问题。记得在理想公司的时候,当时需要升级和梳理产品的框架,需要删除很多JAR包,还有使用新的JAR包,当时就对每个JAR包进行了了解和记录。最近又碰到了一些简单的问题,就顺便整理了一下以前的记录。其实从JAR包的梳理中,也能了解很多自己不熟悉的技术,能增加自己的技术范畴,也许遇到有兴趣的,还可以做个DEMO试试,这不也是一种乐趣么。下面的资料都是以前的笔记,在此要感谢原来提供这些资料的人。下面的JAR包中,不包含Spring等主要框架的,主要是一些工具和框架中常见的JAR包。当然现在很多可能已经用不到了,描述不完善和不正确的地方,请多多包涵,只是给自己做个记录,便于以后的查找,也希望能到帮到使用到的你们。
根据功能区分
涉及XML处理的JAR包:
dom4j-1.6.1.jar,dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点 fop-0.94.jar,将xml转成pdf
YAML,相对于属性文件来说,YAML 是一个更好的配置文件格式。YAML 在 Ruby on Rails 中得到了很好的应用。SpringApplication 类也提供了对 YAML 配置文件的支持,只需要添加对 SnakeYAML 的依赖即可。
jxl.jar,(java excel api)是一个韩国人写的处理 Excel 的类库,能够方便的导入和导出Excel。
数据库相关的JAR包:
h2 jar,h2数据库
postgresql.jar,用于数据库的连接
ibatis-2.3.0.677.jar,ibatis开发包
hsqldb.jar,Hsqldb是一个开放源代码的JAVA数据库,其具有标准的SQL语法和JAVA接口,它可以自由使用和分发,非常简洁和快速的
图片处理相关的JAR包:
imgscalr-lib-4.2.jar, imgscalr 是一个对图片进行缩放的 Java 类库。
batik-all-1.6.jar,处理highcharts导出图片出现中文乱码所用到的jar包 JGraph,是一个短小精悍、功能完善的Java组件,它可以帮助你用图论(graph theory)原理来进行网络图形表示的开发
batik-all-1.6.jar,处理highcharts导出图片出现中文乱码所用到的jar包
JSON相关处理的JAR包:
Jackson,可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象
jackson-core-asl-1.4.2.jar、jackson-mapper-asl-1.4.2.jar,实现springMVC 异步补全功能所需jar包
gson-1.7.1.jar,解析json的常用包
ezmorph-1.0.6.jar,使用json时要依赖的jar文件,在使用jquery的json时,没有引用该文件的时候容易报错
缓存处理相关的JAR包:
infinispan-core-5.1.7.Final.jar,Infinispan是个开源的数据网格平台。它公开了一个简单的数据结构(一个Cache)来存储对象。虽然可以在本地模式下运行Infinspan,但其真正的价值在于分布式,在这种模式下,Infinispan可以将集群缓存起来并公开大容量的堆内存。这可比简单的复制强大的多,因为它会为每个结点分配固定数量的副本——服务器故障的一种恢复手段——同时还提升了可伸缩性,这是由于存储每个结点所需的工作量是与集群大小息息相关的。
JBoss相关的JAR包:
JBoss Marshalling,是一个Java对象的序列化API包,修正了JDK自带的序列化包的很多问题,但又保持跟 java.io.Serializable 接口的兼容;同时增加了一些可调的参数和附加的特性,而这些参数和特性可通过工厂类进行配置
drools-api.jar,JBoss组织下面的一个规则引擎
drools-compiler.jar,JBoss组织下面的一个规则引擎
drools-core.jar,JBoss组织下面的一个规则引擎
加密相关的JAR包:
3des1.3.jar,3des加密
邮件相关的JAR包:
commons-email发送邮件,mail.jar commons-email-1.0.jar activation.jar activation.jar,与 javaMail 有关的 jar 包,使用 javaMail 时应与 mail.jar一起加入到 lib 中去,具体负责 mail 的数据源和类型等
二维码条形码相关JAR包:
zxing.jar,二维码的生成和解码
avalon-framework-api-4.3.1.jar,条形码生成
OFFICE处理相关JAR包:
xmlbeans-2.3.0.jar包,读取Excel表格信息所需要的jar包
unoil-3.0.1.jar,可以将office的doc,ppt,等文档转换为PDF的工具
jurt-3.0.1.jar,可以将office的doc,ppt,等文档转换为PDF的工具
juh-3.0.1.jar,可以将office的doc,ppt,等文档转换为PDF的工具
jodconverter-2.2.2.jar,可以将office的doc,ppt,等文档转换为PDF的工具
iText组件,只能采用生成PDF文件,然后由客户端下载到本地进行打印
Velocity相关JAR包:
velocity1.7.jar,搭建velocity所需要的jar包
实时通讯相关JAR包:
swarmcache-1.0rc2.jar,对于开发聊天工具很有用
Spring相关JAR包:
spring-ldap-1.2-RC1.jar,Spring-LDAP是一个java简单应用在LDAP开发的一个库,是采取类似Spring JDBC中的JdbcTemplate的原理建立的。它使得我们完全没必要考虑LdapContext的生成和关闭以及NamingEnumeration的循环。在Spring’s DataAccessException基础上建立的Spring-LDAP提供一个更加全面且不用检查的异常处理机制。作为补充,Spring-LDAP也有了动态建立LDAP filters和DNs(Distinguished Names)的类
定时器相关JAR包:
quartz-all-1.8.6.jar
拼音相关JAR包:
pinyin4j,支持将汉字转化成六种拼音表示法。其对应关系是:汉语拼音-Hanyu Pinyin,通用拼音-Tongyong Pinyin, 威妥玛拼音(威玛拼法)-Wade-Giles Pinyin,注音符号第二式-MPSII Pinyin, 耶鲁拼法-Yale Pinyin和国语罗马字-Gwoyeu Romatzyh
HTML解析相关JAR包:
jsoup-1.6.2.jar说明: 解析html工具包,jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据
时间处理相关JAR包:
joda-time-1.6.jar,Hbase源码编译时使用的包,对日期和时间进行处理的工具类库,可替代java.util.Calendar中的相关功能
ibatis(mybatis)相关的JAR包:
ibatis-2.3.0.677.jar,ibatis开发包
cglib.jar,cglib-nodep-2.2.2.jar, spring配置ibatis事务所需jar
测试相关的JAR包:
hamcrest-all-1.3.0RC2.jar,JUNIT4相关的jar包导入到系统的依赖jar包
JBPM(流程)相关的JAR包:
guice.jar,guice-aopalliance.jar,guice-servlet.jar,jbpm依赖包
errai-common.jar,jbpm依赖包
bsh.jar,jbpm依赖包
其他介绍:
MockEJB,是一个不需要EJB容器就能运行EJB并进行测试的轻量级框架 jaxen-1.1.1.jar,一个Java编写的开源的XPath库,适应多种不同的对象模型,包括DOM,XOM,dom4j和JDOM
janino.jar,Janino是一种内嵌的开源Java编译器,Janino并不是一种提供给开发人员编译程序的编译器,而是Java程序在运行时编译Java代码的编译器。Janino通过动态编译代码,从而提高了程序的性能 C3P0,是一个开放源代码的JDBC连接池
DbUnit,则是专门针对数据库测试的对JUnit的一个扩展
validation-api-1.0.0.GA.jar,java框架开发技术验证技术用到的jar包
tk-filters.jar,在有限带宽窗口里提高传输的内容才是重点利用tk-filters压缩.js、.css、.jsp 大小,去掉格式、空格等等。只需要耗费一点服务器的CPU。
1、下载tk-filters,把tk-filters.properties放到classes,把tk-filters.jar放到Lib里。
2、修改项目的WEB.xml文件把需要压缩的格式加上: <filter>
mvel2.jar,MVEL,是一个类似于OGNL的表达式语言解释工具,性能优于OGNL
常用JAR包的用途:
(笔记一)
axis.jar,SOAP引擎包
commons-discovery-0.2.jar,用来发现、查找和实现可插入式接口,提供一些一般类实例化、单件的生命周期管理的常用方法
jaxrpc.jar,Axis运行所需要的组件包saaj.jar 创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法
wsdl4j-1.5.1.jar,Axis运行所需要的组件包
activation.jar,JAF框架的jar包
annotations-api.jar,使用注解所需
jar ant.jar,用于自动化调用程序完成项目的编译,打包,测试等
aopalliance-1.0.jar,支持Spring AOP asm-2.2.3.jar,ASM字节码库
asm-commons-2.2.3.jar,ASM字节码库
asm-util-2.2.3.jar,Java字节码操纵和分析框架
aspectjrt.jar,处理事务和AOP所需的包
aspectjweaver.jar,处理事务和AOP所需的包
axiom-api-1.2.7.jar,Axis 对象模型
axiom-impl-1.2.7.jar,Axis 对象模型
bcprov-jdk15-140.jar,基于java1.5 的加密算法实现
bfmclientmodel.jar,使用WebSphere所需jar包
bpcclientcore.jar,使用WebSphere所需jar包
bpe137650.jar,提供远程访问BPE容器的实现
bsh-2.0b4.jar,解决负载逻辑运算
c3p0-0.9.0.jar,开放源代码的JDBC连接池
cglib-nodep-2.1_3.jar,Spring中自动代理所需jar包
cobertura.jar,测量测试覆盖率
commons-beanutils-1.7.0.jar,动态的获取/设值Java Bean的属性
commons-chain-1.1.jar,实现责任链设计模式的Java 类库
commons-codec-1.3.jar,用来处理常用的编码方法的工具类包,例如DES、SHA1、MD5、Base64等等
commons-collections-3.1.jar,对标准java Collection的扩展
commons-collections.jar,对标准java Collection的扩展
commons-digester-1.8.jar,用于处理struts-config.xml配置文件
commons-fileupload-1.1.1.jar,上传文件
commons-httpclient-3.1.jar,用来简化HTTP客户端与服务器端进行各种通信编程实现
commons-io-1.1.jar,针对java.io.InputStream和Reader进行了扩展
commons-lang-2.4.jar,对java.lang.*的扩展
commons-logging-1.1.1.jar,日志包
commons-pool-1.3.jar,实现对象池化框架
commons-validator-1.3.1.jar,用来把验证规则程序提取出来,以供重复使用
db2jcc.jar,java连接DB2所需jar
db2jcc_license_cu.jar,java连接DB2所需
jar dom4j-1.6.1.jar,解析XML
ehcache-1.2.4.jar,hibernate的二级缓存如果用ehcache的时候需要此jar包
emf.jar,基于Eclipse的模型框架
ezmorph-1.0.6.jar,使用JSON所需的jar包
FastInfoset-1.2.2.jar,使用WebService所需的jar包
freemarker-2.3.8.jar,一种表现层框架
geronimo-activation_1.1_spec-1.0.2.jar,Apache Geronimo所带jar包
geronimo-annotation_1.0_spec-1.1.1.jar,Apache Geronimo所带jar包
geronimo-javamail_1.4_spec-1.3.jar,Apache Geronimo所带jar包
geronimo-jaxws_2.1_spec-1.0.jar,Apache Geronimo所带jar包
geronimo-jms_1.1_spec-1.1.1.jar,Apache Geronimo所带jar包
geronimo-servlet_2.5_spec-1.2.jar,Apache Geronimo所带jar包
geronimo-stax-api_1.0_spec-1.0.1.jar,Apache Geronimo所带jar包
hibernate3.jar,Hibernate3的核心jar包
htmclientmodel.jar,使用WebSphere所需jar包
jakarta-oro.jar,一套文本处理工具,提供per15.0兼容的表达式,AWK-like表达式,Glob表达式。
javassist.jar,Javassist 字节码解释器
jaxb-api-2.1.jar,使用WebService所需的jar包
jaxb-impl-2.1.7.jar,使用CXF所需jar包
jaxb-xjc-2.1.7.jar,使用CXF所需jar包
jaxen-1.1.1.jar,解析XML
jcifs-1.2.22.jar,实现单点登陆
jdom2-1.0.jar,解析XML jdom-1.0.jar,解析XML
jettison-1.0.1.jar,使用CXF所需jar包
jetty-6.1.9.jar,Jetty Http服务器jar
jetty-util-6.1.9.jar,Jetty Http服务器
jar jra-1.0-alpha-4.jar,使用CXF所需jar包
js-1.6R7.jar,使用CXF所需jar包
json-lib-2.2.3-jdk13.jar,使用JSON所需的jar包
jsonplugin-0.25.jar,JSON插件
jsr311-api-0.8.jar,使用CXF所需jar包
jstl.jar,JSTL标签库
jta.jar,标准的JAVA 事务处理接口
junit.jar,用于单元测试
jxl.jar,通过java操作excel表格的工具类库
ldap.jar,JNDI目录服务和LDAO服务器所需的jar
ldapbp.jar,JNDI目录服务和LDAO服务器所需的jar
log4j-1.2.15.jar,提供日志功能
mail.jar,java发送邮件jar包
neethi-2.0.4.jar,使用CXF所需jar包
odmg-3.0.jar,ODMG是一个ORM的规范,Hibernate实现了ODMG规范,这是一个核心的库
gnl-2.6.11.jar,OGNL语言
ojdbc14.jar,Oracle数据库驱动包
opensaml-1.1.jar,使用CXF所需jar包
oro-2.0.8.jar,Validator框架所需的jar包
oscache-2.1.jar,Java对象的缓存工具
poi-3.1-FINAL-20080629.jar,操作exce所需jar包
poi-contrib-3.1-FINAL-20080629.jar,操作exce所需jar包
poi-ooxml-3.6-20091214.jar,提供对office的word、excel、visio及ppt的操作
poi-ooxml-schemas-3.6-20091214.jar,提供对office的word、excel、visio及ppt的操作
poi-scratchpad-3.1-FINAL-20080629.jar,提供对office的word、excel、visio及ppt的操作
processCommon.jar,IBM WebSphere运行所需jar
processCommonLibrary.jar,IBM WebSphere 运行所需jar
processIdentity.jar,IBM WebSphere 运行所需jar
ProcessInformation.jar,进程监视软件包
proxool-0.9.1.jar,数据库连接池
proxool-cglib.jar,数据库连接池
quartz-1.6.0.jar,开源作业调度框架
saaj-api-1.3.jar,使用axis所需的jar
saaj-impl-1.3.2.jar,使用axis所需的jar
serializer-2.7.1.jar,XML序列化
slf4j-jdk14-1.5.6.jar,整合各种日志框架的工具
spring208.jar,spring核心框架
spring-ldap-1.2-RC1.jar,spring下LDAP
spring-mock.jar,spring的测试框架
standard.jar,使用JSTL标签库所需的jar
stax-api-1.0.1.jar,解析XML
struts2-core-2.0.14.jar,struts2核心jar
struts2-spring-plugin-2.0.6.jar,struts2整合Spring所需jar
taglibs-datetime.jar,Apache开源组织提供标签库,用于格式化日期
taglibs-mailer.jar,用于发送邮件
taglibs-string.jar,Apache开源组织提供标签库,用于对String的操作
task137650.jar,Portal技术在SOA系统集成应用中实现所需的jar
utility.jar,Apache开源组织提供标签库
velocity-1.5.jar,一个免费的开源模板框架
wsdl4j-1.6.2.jar,用来解析服务的WSDl文件
wss4j-1.5.4.jar,创建CXF所需jar
wss4j-1.5.4.jar,创建CXF所需jar
wstx-asl-3.2.6.jar,创建CXF所需jar
xbean-spring-2.8.jar,使用xfire所需jar
xerces-2.6.2.jar,XML解析器
xfire-all-1.2.6.jar,用于实现WebService
XmlSchema-1.1.jar,使用xfire所需jar
xwork-2.0.7.jar,WebWork核心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,上传文件功能
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,是用于生成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可以为不同节点指定