深入理解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
目录
相关文章
|
5月前
|
Java Shell Docker
Docker启动后怎样运行jar包文件
Docker启动后怎样运行jar包文件
|
4月前
|
Java 数据库 数据安全/隐私保护
Java操作Excel文件导入导出【内含有 jxl.jar 】
Java操作Excel文件导入导出【内含有 jxl.jar 】
69 0
|
4月前
|
XML 运维 Java
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
42 1
|
5月前
|
SQL Java 流计算
Flink SQL UDF(用户自定义函数)需要打包成JAR文件并上传到Flink集群中
【1月更文挑战第1天】【1月更文挑战第2篇】Flink SQL UDF(用户自定义函数)需要打包成JAR文件并上传到Flink集群中
272 0
|
4月前
|
IDE 数据可视化 Java
Java基础6-Java文件和Java包结构和常用的jar包(二)
Java基础6-Java文件和Java包结构和常用的jar包(二)
45 0
|
4月前
|
Java Unix 编译器
Java基础6-Java文件和Java包结构和常用的jar包(一)
Java基础6-Java文件和Java包结构和常用的jar包(一)
72 0
|
5月前
|
运维 Dubbo Java
Serverless 应用引擎产品使用之在 Serverless 应用引擎中,查看镜像文件中的 JAR 文件如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
174 2
|
5月前
|
Java
win10下修改jar中的文件
win10下修改jar中的文件
60 1
win10下修改jar中的文件
|
5月前
|
移动开发 Java Unix
Android系统 自动加载自定义JAR文件
Android系统 自动加载自定义JAR文件
193 1
|
5月前
|
Java
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
451 0

热门文章

最新文章

下一篇
无影云桌面