深入理解Jar文件:创建、使用和多版本控制

简介: 深入理解Jar文件:创建、使用和多版本控制

       Java中Jar文件是一种归档文件格式,通常用于将许多Java程序组件存储在单个文件中。它可以包含Java类(.class文件)、资源文件和任何其他支持文件。创建Jar文件有助于打包和分发您的应用程序。

🍛 一、创建JAR文件

可以使用jar工具制作JAR文件(在默认的JDK安装中,这个工具位于jdk/bin目录下)


要创建Jar文件,您需要按照以下步骤进行操作:


a. 将所有“ .class”文件放入一个目录中。

b. 打开命令行或终端并导航到该目录。

c. 运行以下命令以创建Jar文件:

jar cvf jar-file-name.jar *.class

d. 完成后你会得到一个名为"jar-file-name.jar"的jar文件,其中包含了所有.class文件。

🍜 二、安装和使用清单文件

       清单文件是指定Jar文件的元信息文件,包括版本信息、依赖项等。它必须包含在每个Jar文件的META-INF目录中,并命名为MANIFEST.MF。


以下示例演示如何添加自定义Manifes文件到JAR文

javac main.java 
echo Main-Class: Main >manifest.txt 
jar cvfm MyJarName.jar manifest.txt *.class

要想编辑清单文件,需要将希望添加到清单文件中的行放到文本文件中,然后运行:

jar cfm jarFileName manifestFileName ...

例如:

jar cfm MyArchive.jar manifest.mf com/mycompany/mypkg/*.class

要想更新一个已有的JAR文件的清单,则需要将增加的部分放置到一个文本文件中,然后执行以下命令:

jar ufm MyArchive.jar manifest-additions.mf

🍝 三、创建可执行的JAR文件

要创建可执行Jar文件,您需要再次按照以下步骤操作:


a. 创建一个命名Main-Class属性的 MANIFEST.MF 文件。例如:

Manifest-Version: 1.0
   Main-Class: MyMainClass

b. 运行以下命令以创建可执行Jar文件:

jar cmf MANIFEST.MF jar-file-name.jar *.class

c. 该文件可以用Java运行:

java -jar jar-file-name.jar

🍠 四、多版本的jar文件

       多版本的Jar文件允许开发者在不破坏旧代码的情况下更新程序。创建多版本的Jar文件需要了解Java平台中的版本库和类加载器。


a. 创建一个新的JAR文件,添加所有新的类和资源。

b. 将这个JAR文件的版本标识符作为属性,添加到META-INF/MANIFEST.MF文件中。例如:

Implementation-Version: 2.0

c. 使用版本库或类加载器来选择正确的Jar文件并加载合适的版本。


要使用不同版本的类文件,可以使用 - - release标志:

jar uf MyProgram.jar --release 9 Application.class
目录
相关文章
|
1月前
|
Java Shell Docker
Docker启动后怎样运行jar包文件
Docker启动后怎样运行jar包文件
|
6月前
|
Java Maven
pom文件中引入本地jar包到maven项目
pom文件中引入本地jar包到maven项目
92 0
|
6月前
|
Java Linux
【Linux】linux下使用命令修改jar包内某一个文件中的内容并重新运行jar程序
【Linux】linux下使用命令修改jar包内某一个文件中的内容并重新运行jar程序
108 0
|
3月前
|
SQL Java 流计算
Flink SQL UDF(用户自定义函数)需要打包成JAR文件并上传到Flink集群中
【1月更文挑战第1天】【1月更文挑战第2篇】Flink SQL UDF(用户自定义函数)需要打包成JAR文件并上传到Flink集群中
89 0
|
4天前
|
移动开发 Java Unix
Android系统 自动加载自定义JAR文件
Android系统 自动加载自定义JAR文件
21 1
|
1月前
|
存储 Java 开发工具
java-jar文件docx
java-jar文件docx
18 0
|
1月前
|
Java 应用服务中间件
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
132 1
|
6月前
|
Java 关系型数据库 MySQL
【Java用法】windows10系统下修改jar中的文件并重新打包成jar文件然后运行
【Java用法】windows10系统下修改jar中的文件并重新打包成jar文件然后运行
141 0
|
7月前
|
Java Shell OceanBase
Java 无法找到 oma.jar 文件
Java 无法找到 oma.jar 文件
54 1
|
4月前
|
Java
Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)
Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)
149 0