JAR 文件全称Java Archive File(Java文档文件)。
JAR 文件是一个特殊的 ZIP 文件,所以称作文件包。
JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个 文件是在生成 JAR 文件的时候自动创建的。
Jar文件
┃
┣ META-INF
┃ ┗ MANIFEST.MF
┃
┗ package
┗ java.class
建立可执行的jar的文件只需要在MANIFEST.MF中添加
Main-Class: 可执行主类全名(包含包名)
然后打包即可
注意的是,创建的 JAR 文件包中的文件结构要求与 Java 程序的包结构对应。而 Main-Class 指定的类,也必须包含包路径 的完整类名(不需要加上.class)
使用jar命令打包
要到 目录 的上级目录中去使用 jar 命令来创建 JAR 文件包这样才能将MANIFEST.MF包含进去。
jar 命令详解
使用不带任何的 jar 命令我们可以看到 jar 命令的用法如下:
jar {ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C 目录] [文件名]
其中 {ctxu} 是 jar 命令的子命令,每次 jar 命令只能包含 ctxu 中的一个,它们分别表示:
-c 创建新的 JAR 文件包
-t 列出 JAR 文件包的内容列表
-x 展开 JAR 文件包的指定文件或者所有文件
-u 更新已存在的 JAR 文件包 (添加文件到 JAR 文件包中)
[vfm0M] 中的选项可以任选,也可以不选,它们是 jar 命令的选项参数
-v 生成详细报告并打印到标准输出
-f 指定 JAR 文件名,通常这个参数是必须的
-m 指定需要包含的 MANIFEST 清单文件
-0 只存储,不压缩,这样产生的 JAR 文件包会比不用该参数产生的体积大,但速度更快
-M 不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m 参数
[jar-文件] 即需要生成、查看、更新或者解开的 JAR 文件包,它是 -f 参数的附属参数
[manifest-文件] 即 MANIFEST 清单文件,它是 -m 参数的附属参数 chi hair straightener
[-C 目录] 表示转到指定目录下去执行这个 jar 命令的操作。它相当于先使用 cd 命令转该目录下再执行不带 -C 参数 的 jar 命令,它只能在创建和更新 JAR 文件包的时候可用。
[文件名] 指定一个文件/目录列表,这些文件/目录就是要添加到 JAR 文件包中的文件/目录。如果指定了目录,那么 jar 命令打 包的时候会自动把该目录中的所有文件和子目录打入包中。
关于可执行 JAR 文件包的创建
最新推荐文章于 2024-10-16 15:13:18 发布