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

热门文章

最新文章