6.12 Java9的多版本JAR包

6.12 Java9的多版本JAR包

JAR文件的全称是Java Archive File,意思就是Java档案文件。通常JAR文件是一种压缩文件,与常见的ZIP压缩文件兼容,通常也被称为JAR包。

JAR文件和ZIP文件的区别

JAR文件与ZIP文件的区别就是在JAR文件中默认包含了一个名为META-INF/MANIFEST.MF的清单文件,这个清单文件是在生成JAR文件时由系统自动创建的。

将类文件打包成JAR包在其他地方使用

当开发了一个应用程序后,这个应用程序包含了很多类,如果需要把这个应用程序提供给别人使用,通常会将这些类文件打包成一个JAR文件,把这个JAR文件提供给别人使用。

Java虚拟机会自动解压JAR包

只要别人在系统的CLASSPATH环境变量中添加这个JAR文件,则Java虚拟机就可以自动在内存中解压这个JAR包,把这个JAR文件当成一个路径,在这个路径中查找所需要的类或包层次对应的路径结构。

使用JAR文件的优点

使用JAR文件有以下好处。

  1. 安全。能够对JAR文件进行数字签名,只让能够识别数字签名的用户使用里面的东西。
  2. 加快下载速度。在网上使用Applet时,如果存在多个文件而不打包,为了能够把每个文件都下载到客户端,需要为每个文件单独建立一个HTTP连接,这是非常耗时的工作。将这些文件压缩成一个JAR包,只要建立一次HTP连接就能够一次下载所有的文件
  3. 压缩。使文件变小,JAR的压缩机制和ZIP完全相同。
  4. 包封装。能够让JAR包里面的文件依赖于统一版本的类文件。
  5. 可移植性JAR包作为内嵌在Java平台内部处理的标准,能够在各种平台上直接使用。

把一个JAR文件添加到系统的CLASSPATH环境变量中后,Java会把JAR文件当成一个路径来处理。实际上JAR文件就是一个路径,JAR文件通常使用jar命令压缩而成,当使用jar命令压缩生成JAR文件时,可以把一个或多个路径全部压缩成一个JAR文件。