1. class文件打包归档
// -c 创建一个新的归档文件。-f 指定归档文件名。-e 指定应用程序入口点。
jar cfe myapp.jar Hello *.class
Java JAR 文件中的 MANIFEST.MF 文件
通常位于 META-INF
目录下,MANIFEST.MF
文件是 Java 归档文件(如 JAR、WAR、EAR 等)中的一个特殊文件。这个文件包含了归档文件的元数据信息,这些信息对 Java 虚拟机(JVM)解释和执行归档文件中的内容至关重要。
主要作用
- 指定主类:在 JAR 文件中,
MANIFEST.MF
可以指定应用程序的主类(Main-Class
),这样在运行 JAR 文件时,JVM 会自动调用这个类中的main
方法。 - 设置类路径:通过
Class-Path
属性,MANIFEST.MF
可以指定 JAR 文件依赖的其他 JAR 文件或目录,确保 JVM 能够找到所需的类。 - 版本信息:可以包含版本信息(
Manifest-Version
),帮助管理和识别不同版本的 JAR 文件。 - 安全性:
MANIFEST.MF
文件可以包含数字签名信息,用于验证 JAR 文件的完整性和来源的可信度。 - 扩展机制:通过
Extension-List
和相关属性,MANIFEST.MF
可以声明 JAR 文件对其他扩展的依赖。
2. 运行打包程序
使用清单文件(MANIFEST.MF)
Manifest-Version: 1.0
Created-By: 11.0.16.1 (Oracle Corporation)
Main-Class: Hello
java -jar myapp.jar