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.jartools.jar 是系统用来编译一个类的时候用到的,即执行javac的时候用到。

2、数据库连接与操作相关

包名用途简介
ojdbc14.jar  Oracle 9i、Oracle 10g数据库连接驱动,还需要查一下对应的jdk版本。
ojdbc6.jarOracle 9i、Oracle 11g数据库连接驱动,还需要查一下对应的jdk版本。
mysql-connector-java.jarMySql数据库连接驱动。
sqljdbc42.jarSql Server数据库连接驱动。
db2jcc.jarDB2数据库连接驱动 。
db2jcc_license_cu.jarDB2数据库连接驱动 。

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.jarCommons-logging是Apache提供的一个日志抽象,他提供一组通用的日志接口。功能类似于slf4j

5、json和XML处理

包名用途简介
ezmorph-1.0.4.jarjson和java转化的辅助工具
json-lib-2.2.3-jdk13.jar使用JSON所需的jar包
jsonplugin-0.25.jarstrus2的JSON插件
json-lib-2.2-jdk15.jarjson和java转化的辅助工具
jaxen-1.1.1解析XML 
dom4j-1.6.1.jar解析XML
serializer-2.7.1.jarXML序列化
stax-api-1.0.1.jar解析XML
xerces-2.6.2.jarXML解析器
commons-digester-1.8.jarApache 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.jarjsp应用jar包。早期技术,现在已逐步被spring系列代替。
servlet-api.jar对http协议的解析和处理,最常见ServletRequest和ServletResponse接口。早期技术,现在已逐步被spring系列代替。
jstl.jarJSTL标签库
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.jarStruts核心包,有需要依赖个基本包,可自行搜索,不一一列举。
struts2-spring-plugin-2.3.4.jarStruts在spring中的插件
mybatis-3.3.0.jarmybatis核心包

未完待更新...

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐