java开发过程中遇到的一些jar包的作用
参考:http://schnauzer.iteye.com/blog/182007
http://www.ehelper.com.cn/blog/post/126.html
1.asm、cglib和cglib-nodep
Glib是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。
当然这些实际的功能是asm所提供的,asm又是什么?Java字节码操控框架。
cglib就是封装了asm,简化了asm的操作,实现了在运行期动态生成新的class。
实际上CGlib为spring aop提供了底层的一种实现;为hibernate使用cglib动态生成VO/PO (接口层对象)
cglib-nodep-2.2.jar,这是一个不依赖其他jar的文件。如果选择cglib-2.2.jar,还需要加入几个依赖的jar包才行,在http://cglib.sourceforge.net/dependencies.html列出来了所需要的jar文件
2.dom4j
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用它来读写配置文件
3.ant.jar和antlr.jar(可以删去)
ant编译用的包,在工程中不用添加
4.javassist
用来操作字节码的,至于它和cglib到底有什么差别目前暂时还没有仔细研究,不过可以注意到Hibernate3.3.x中将javassist.jar放在了lib/required中作为一个必要的JAR包,而cglib则不再是必要包,被放在了lib/bytecode下,反正这两个东西都能操作字节码来生成动态代理。Javassist好像是JBoss的一个子项目吧,最大的特点就是简单,直接使用java编码的形式,而不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成类
5.jta
java的事务规范,当用到事务处理时是必需的,hebernate中用到
6.slf4j
SLF4J,即简单日志门面(Simple Logging Facade for Java)。从设计模式的角度考虑,它是用来在log和代码层之间起到门面的作用。对用户来说只要使用slf4j提供的接口,即可隐藏日志的具体实现。
一些开源的架包 比如spring 是如何实现对具体日志解耦的呢,虽然不是使用slf4j,却是用的是Jakarta Commons Logging+log4j,也就是为什么commons-logging出现的频率如此高的原因。他的功能就是提供了底层的log接口
7.commons-collections
Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大
8.commons-dbcp
DBCP数据库连接池,Apache的Jakarta组织开发的,Tomcat4的连接池也是DBCP。 实际上Hibernate自己也实现了一个非常非常简单的数据库连接池,不过DBCP可能更通用一些。
9.Commons-pool
对象池化,dbcp就是一种具体实现的dbcp
http://www.ibm.com/developerworks/cn/java/l-common-pool/
10.commons-fileupload
jsp的上传文件功能
11.commons-io
可以看成是java.io的扩展
12.commons-lang
包含了一些数据类型工具类,是java.lang.*的扩展。
13.commons-logging
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包。
分享到:
相关推荐
Java开发过程中,打包工具起着至关重要的作用,它们帮助开发者将源代码编译、整合资源并打包成可执行的JAR文件。其中,"jarjar"是一个非常实用的工具,专为Java程序员设计,用于方便地对JAR文件进行操作,如重命名类...
Java集成Kettle所有Jar包是一项常见的任务,尤其对于那些在数据处理、ETL(提取、转换、加载)项目中使用Kettle(也称为Pentaho Data Integration或PDI)的开发者来说。Kettle是一个强大的开源数据集成工具,它提供...
在Java开发中,jar包的使用通常包括以下步骤: 1. **导入jar包**:将所需的jar包添加到项目的类路径(ClassPath)中,这样编译器和运行时环境就能找到并加载这些库。在IDE如Eclipse或IntelliJ IDEA中,可以直接通过...
尽管描述部分没有提供具体的信息,但通过提供的博客链接,我们可以推测该JAR包可能包含了一些作者在实际开发中经常使用的实用工具类。在博客中,作者可能详细介绍了这些工具类的功能、使用方法,以及可能遇到的问题...
以下是对给定jar包及其在gRPC中作用的详细解释: 1. **guava-19.0.jar**:Guava是Google的一个核心库,提供了许多Java平台的实用工具类,包括集合、缓存、并发工具和I/O工具。在gRPC中,Guava被用来提供一些基础的...
标题提到的"modbus java 开发jar"指的是Java环境下用于实现Modbus协议的开发工具包。 首先,`seroUtils.jar` 是一个实用工具类库,可能包含了各种通用的辅助函数,为Modbus通信提供了一些底层支持。这些工具可能...
这个名为"java-使用java开发的检测项目中jar包环境的脚本"的资源提供了一种自动化检查项目中jar包环境的方法,这对于开发者来说非常实用,能有效提高工作效率并减少因环境问题导致的错误。下面我们将详细探讨这个...
在Java开发过程中,`jar`(Java Archive)文件是不可或缺的一部分。这些`.jar`文件实际上是Java类库的集合,包含了编译后的Java类和其他资源,用于封装和分发代码,方便在不同项目间共享和重用。 "Java所需所有jar...
在实际开发中,使用阿里钉钉开发jar包的步骤通常包括以下几个部分: 1. **配置接入**:首先需要在钉钉开发者平台上注册应用,获取AppKey和AppSecret,这是进行接口调用的身份凭证。 2. **引入jar包**:将提供的jar...
在软件开发过程中,Java开发者经常会遇到需要引入外部库的情况,以增强或简化代码的功能。这里提到的"开发中的一些常用jar包下载"涵盖了几个非常关键的Java库,它们在各种项目中都有广泛的应用。下面我们将分别...
Java开发过程中,jar包是常用的部署和分发方式,它包含了一组类文件和其他资源,用于构建可执行的Java应用程序或库。当我们需要更新或优化软件时,可能会产生新的jar包,这时候就需要对比两个jar包之间的差异,以...
在Java开发中,爬虫程序的构建是数据挖掘和网络信息获取的重要手段。为了实现一个功能完备的Java爬虫,开发者通常需要引入一系列的库和框架来处理HTTP请求、HTML解析、日志记录以及编码解码等任务。下面将详细讨论...
在Java开发中,生成JSON(JavaScript Object Notation)的jar包是常见的需求,尤其是在构建Web服务或者进行数据交换时。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本篇文章将...
描述中提到的“缺失ejb wtc jolt相关的都可以导入jar包解决”是指在开发过程中,如果遇到与EJB、WTC(Web Transaction Control)或JOLT(Jolt Library)相关的功能需求,可以通过引入相应的jar包来解决。EJB是Java ...
在Java开发中,正确地管理和使用jar包是至关重要的。通常,我们会把这些依赖库放入项目的类路径中,以便于编译和运行。在Eclipse这样的IDE中,可以直接通过"构建路径"设置来添加外部jar包,或者通过Maven或Gradle...
Java解压缩技术是Java开发中一个非常实用的技能,特别是在处理数据传输、文件打包和部署等方面。本篇文章将深入探讨如何在Java中解压jar包,以及与之相关的`java unrar 0.3`库的使用。 首先,我们要了解什么是jar包...
Java生成Excel是编程中常见的需求,...如果你在开发过程中遇到问题,可以通过提供的博客链接寻找解决方案,或者在相关论坛上寻求帮助。记住,学习和理解Apache POI的API文档对于深入理解和优化Excel生成代码至关重要。
在Java编程环境中,连接Oracle 12c数据库是常见的需求,尤其在开发企业级应用时。Oracle 12c是Oracle公司推出的最新版本的...在开发过程中,正确配置和使用这个驱动包对于构建稳定、高效的Java-Oracle连接至关重要。
本资源提供的"mysql-connector-java-8.0.31-jar包"正是这样一个驱动程序的最新版本,即8.0.31。 MySQL Connector/J 8.0.31版本包含了对MySQL 8.x系列数据库的全面支持,提供了许多新特性和改进。以下是一些关键知识...
在实际开发中,有时还会遇到一些问题,比如签名错误、证书过期、密钥丢失等,这些问题都需要开发者妥善处理,可能需要重新签名或者更新证书。同时,对于开源项目,通常会使用开源证书,如OpenSSL提供的免费证书,以...