一步一步学java(7):jar包使用方法及常用jar包分类汇总(持续更新)
java最大的特点和优势就是纯面向对象、开源,除了JDK、JRE自带的基础类库之外,还有非常多的大牛们开发了各种应用的类库(jar包),本篇主要介绍一下这些类库的使用方法,并把常用jar包分类汇总,以便猿友们参考查阅。
一、jar包使用方法
1、使用java自带jar包:也称基础类库,又分两类分别存放在两个地方,一是在java安装目录的jre\lib下,用于已发布的软件运行时调用,可称为jvm环境;二是在java安装目录的jdk\jre\lib下,用于开发时调试软件调用,可称为开发环境,在自己新建的项目工程中,基础类库下的类不用导包,即不用手动import,系统默认导入,System、Exception、Math、String,都属于java.lang包下,无需import操作。(编写软件过程中,还有一种自己编写的同包下的类也不用import。)
2、使用第三方jar包:如果要使用第三方jar包中的类,需要添加引用或添加依赖才能正常import。添加方法很多,下面列举常见的。
介绍添加依赖jar包方法之前先建个测试类,并打包成jar文件。
package QinMing.TestJar1;
public class test1 {
private String strA;
public String getStrA() {
return strA;
}
public void setStrA(String strA) {
this.strA = strA;
}
public void ShowStr(){
System.out.println(strA);
}
}
打包成jar文件方式1:使用idea开发工具,到File菜单找到Project Structure,打开后点击Artifacts,再点击+号,选择JAR,选择From modules...,按提示操作,生成TestJar1.jar文件。
打包成jar文件方式2:使用命令行,先把类编译成.class文件,命令行指令:jar cvf d:\TestJar1.jar F:\Program\java\IDEA\TestJar\out\production\TestJar1\QinMing\TestJar1),特别强调这里需要注意配置的目录与包路径一直,否则即使添加依赖也无法正常使用里面的类,如果对jar命令使用不熟练,建议使用idea开发工具导出jar包。
下面来说说添加jar包依赖的方式:
(1)使用ide开发工具导入,以idea为例,到File菜单找到Project Structure,打开后点击Libraries,再点击+号,打开jar包所在目录,添加后即可import。
这种情况实际上是在项目目录下新增了TestJar1.xml文件用于指定jar位置信息,使用期间需保持文件持续存在,建议把常用的jar包在一个固定目录中分类存放。使用代码如下:
import QinMing.TestJar1.test1;
public class test3 {
public static void main(String[] args){
test1 tt = new test1();
tt.setStrA("she");
tt.ShowStr();
}
}
//测试成功
(2)使用项目管理工具,如ant、maven、gradle等项目管理工具对软件进行添加jar包依赖,这是目前的主流方式,用项目管理工具发布后的软件在装了jre运行环境的主机上可以直接运行。当然如果是集群环境分布式部署,可以把相关的配置使用docker把运行环境打包复制,减少从开发环境到运行环境的问题点,后续在分布式部署的篇幅中再详细介绍。
在maven中如何添加jar包请参见一步一步学java(6):maven安装配置与使用,主要就是管理好pom文件。可以到http://mvnrepository.com网站上查找依赖坐标id信息。
如果在中央仓库或镜像仓库找不到的大厂通用的jar包,一般情况下,企业团队开发,会建一个公司自己的仓库,把项目的各个jar包都上传上去。如果是个人开发,没有公司自己的仓库,可以把下载好的jar包手工安装到本机仓库以供使用,如把oracle数据库操作类库添加到本地仓库的指令为:mvn install:install-file -Dfile=f:\ojdbc6-11.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.4.0 -Dpackaging=jar
以上面的TestJar1.jar为例,添加到本地仓库的指令为:mvn install:install-file -Dfile=f:\TestJar1.jar -DgroupId=QinMing.TestJar -DartifactId=TestJar -Dversion=1.0 -Dpackaging=jar
POM文件中如下内容:
<dependencies>
<dependency>
<groupId>QinMing.TestJar1</groupId>
<artifactId>test1</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
使用代码如下:
import QinMing.TestJar1.test1;
public class App
{
public static void main( String[] args )
{
test1 tt = new test1();
tt.setStrA("him");
tt.ShowStr();;
}
}
二、常用jar包分类汇总
在这个篇幅不要纠结jar包具体的名称和版本号,关键是看jar包的关键词,根据这个关键词找对应的应用需求,然后到https://mvnrepository.com/这样的网站来查找对应的jar包和版本,支持maven、gradle等方式的坐标查询以及jar包下载。
1、jdk/jre内含基础类库
包名 | 用途简介 |
java.lang.* | Java语言的基础类,包括Object类、Thread类、String、Math、System、Runtime、Class、Exception、Process等,是Java的核心类库。 |
java.util.* | 实用工具包:Scanner、Date、Calendar、LinkedList、Hashtable、Stack、TreeSet。 |
java.io.* | 提供了全面的IO接口。包括:文件读写、标准设备输出等。 |
java.net.* | 网络功能包:包含执行与网络相关的操作的类。 |
java.sql.* | 数据库连接包:实现JDBC的类库。动态地安装不同驱动程序来访问不同数据源。 |
java.awt.* | 包含用于创建用户界面和绘制图形图像的所有分类。 |
java.math | 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 |
java.applet | 创建APPLET的必须包;包含applet运行时所需要的一些类。 |
java.beans | 允许你建立软件组件 |
java.rmi | 支持远程方法调用 |
java.security | 处理证书,密钥,摘要,签名和其他安全功能 |
java.text | 格式化,查询和处理文本 |
java.nio | 为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络。 |
java.time | 提供了用于日期、时间、实例和周期的主要API,定义的类表示了日期-时间概念的规则,包括instants, durations, dates, times, time-zones and periods。 |
以上基础类库都在rt.jar包中 | |
tools.jar | tools.jar 是系统用来编译一个类的时候用到的,即执行javac的时候用到。 |
2、数据库连接与操作相关
包名 | 用途简介 |
ojdbc14.jar | Oracle 9i、Oracle 10g数据库连接驱动,还需要查一下对应的jdk版本。 |
ojdbc6.jar | Oracle 9i、Oracle 11g数据库连接驱动,还需要查一下对应的jdk版本。 |
mysql-connector-java.jar | MySql数据库连接驱动。 |
sqljdbc42.jar | Sql Server数据库连接驱动。 |
db2jcc.jar | DB2数据库连接驱动 。 |
db2jcc_license_cu.jar | DB2数据库连接驱动 。 |
3、邮件操作相关
包名 | 用途简介 |
mail.jar | 用于发送邮件,与activateon.jar组合使用。 |
activateon.jar | 用于发送邮件,与mail.jar组合使用。 |
taglibs-mailer.jar | 用于发送邮件 |
4、日志相关
包名 | 用途简介 |
log4j-1.2.15.jar | 日志包,最早得到广泛应用的是log4j,成为了Java日志的事实上的标准。后又出了改写的log4j2。 |
Logback | 日志包,log4j作者的又一力作。 |
slf4j-jdk14-1.5.6.jar | 整合各种日志框架的工具。新型组合用法:slf4j+log4j;slf4j+logback |
commons-logging-1.1.1.jar | Commons-logging是Apache提供的一个日志抽象,他提供一组通用的日志接口。功能类似于slf4j |
5、json和XML处理
包名 | 用途简介 |
ezmorph-1.0.4.jar | json和java转化的辅助工具 |
json-lib-2.2.3-jdk13.jar | 使用JSON所需的jar包 |
jsonplugin-0.25.jar | strus2的JSON插件 |
json-lib-2.2-jdk15.jar | json和java转化的辅助工具 |
jaxen-1.1.1 | 解析XML |
dom4j-1.6.1.jar | 解析XML |
serializer-2.7.1.jar | XML序列化 |
stax-api-1.0.1.jar | 解析XML |
xerces-2.6.2.jar | XML解析器 |
commons-digester-1.8.jar | Apache Commons包中的一个,通过它可以很方便的解析xml文件生成java对象 |
6、OFFICE相关
包名 | 用途简介 |
poi-3.9-20121203.jar | 操作excel的jar包 |
poi-ooxml-3.9-20121203.jar | 提供对office的word、excel、visio及ppt的操作 |
poi-ooxml-schemas-3.9-20121203.jar | 提供对office的word、excel、visio及ppt的操作 |
poi-contrib-3.1-FINAL-20080629.jar | 操作excel的jar包 |
poi-scratchpad-3.1-FINAL-20080629.jar | 提供对office的word、excel、visio及ppt的操作 |
xmlbeans-2.3.0.jar | 操作office的包 |
dom4j-1.6.1.jar | 操作office的包 |
jacob-1.17-M2.jar | 操作office的包,含word操作 |
7、单元测试相关
包名 | 用途简介 |
junit4.11.jar | 用于单元测试的包 |
testng6.8.jar | 用于单元测试的包 |
mockito1.9 | 用于单元测试的包 |
arquill1.1.5 | 用于单元测试的包 |
hamcrest 1.3 | 用于单元测试的包 |
8、传统web应用相关
包名 | 用途简介 |
jsp-api.jar | jsp应用jar包。早期技术,现在已逐步被spring系列代替。 |
servlet-api.jar | 对http协议的解析和处理,最常见ServletRequest和ServletResponse接口。早期技术,现在已逐步被spring系列代替。 |
jstl.jar | JSTL标签库 |
commons-fileupload.jar | 通过Http接收上传的文件并处理结果文件的库 |
9、大名鼎鼎的SSM系列:Spring、Struts、Mybatis
包名 | 用途简介 |
spring-core.jar | 包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心. |
spring-beans.jar | 包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。 |
spring-aop.jar | 包含在应用中使用Spring的AOP特性时所需的类。 |
spring-context.jar | 为Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext所需的、JDNI所需的,UI方面、Validation方面的相关类。 |
spring-dao.jar | 包含Spring DAO、Spring Transaction进行数据访问的所有类。 |
spring-hibernate.jar | 包含Spring对Hibernate 2及Hibernate 3进行封装的所有类。 |
spring-jdbc.jar | 包含对Spring对JDBC数据访问进行封装的所有类。 |
spring-orm.jar | 包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink。 |
spring-remoting.jar | 包含支持EJB、JMS、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。 |
spring-support.jar | 包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。 |
spring-web.jar | 包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类等 |
spring-webmvc.jar | 包含Spring MVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。 |
spring-mock.jar | 包含Spring一整套mock类来辅助应用的测试。Spring测试套件使用了其中大量mock类,这样测试就更加简单。 |
struts2-core-2.3.4.jar | Struts核心包,有需要依赖个基本包,可自行搜索,不一一列举。 |
struts2-spring-plugin-2.3.4.jar | Struts在spring中的插件 |
mybatis-3.3.0.jar | mybatis核心包 |
未完待更新...
更多推荐
所有评论(0)