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文件。

java jar包 大全 java的jar包如何使用_jar

      

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。

java jar包 大全 java的jar包如何使用_java_02

      这种情况实际上是在项目目录下新增了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信息。

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

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核心包

未完待更新...