java---jar详解
- 游戏开发
- 2025-08-19 00:24:01

一、help C:\Users\lichf1>jar 用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ... 选项: -c 创建新档案 -t 列出档案目录 -x 从档案中提取指定的 (或所有) 文件 -u 更新现有档案 -v 在标准输出中生成详细输出 -f 指定档案文件名 -m 包含指定清单文件中的清单信息 -n 创建新档案后执行 Pack200 规范化 -e 为捆绑到可执行 jar 文件的独立应用程序 指定应用程序入口点 -0 仅存储; 不使用任何 ZIP 压缩 -P 保留文件名中的前导 '/' (绝对路径) 和 ".." (父目录) 组件 -M 不创建条目的清单文件 -i 为指定的 jar 文件生成索引信息 -C 更改为指定的目录并包含以下文件 如果任何文件为目录, 则对其进行递归处理。 清单文件名, 档案文件名和入口点名称的指定顺序 与 'm', 'f' 和 'e' 标记的指定顺序相同。 示例 1: 将两个类文件归档到一个名为 classes.jar 的档案中: jar cvf classes.jar Foo.class Bar.class 示例 2: 使用现有的清单文件 'mymanifest' 并 将 foo/ 目录中的所有文件归档到 'classes.jar' 中: jar cvfm classes.jar mymanifest -C foo/ . 二、参数详解 1、简单打包 jar -cf jar包名 class-file1 class-file2 ...... 2、-C dir 指定class文件路径,并打包该路径下的class文件 jar -cf jar包名 -C dir . #-C dir 相当于cd到该目录,然后执行打包命令 #将 foo/ 目录中的所有文件归档到 'classes.jar' 中: jar cvfm classes.jar mymanifest -C foo/ . 3、-t 查看jar包文件列表 4、-v 打印详细信息 5、-m 指定自定义mainfest.mf文件,并将其中内容覆盖到META-INF\MAINFEST.MF文件中 6、-u 更新META-INF\MAINFEST.MF文件 7、-e 指定入口类,即 com.bos.YYZCApplication 8、 jar -i jar包 生成索引 9、-M 不创建META-INF\MAINFEST.MF文件 10、-x 解压 注意
清单文件名(mainfest文件), 档案文件名(jar包文件)和入口点(程序入口类)名称的指定顺序 与 ‘m’, ‘f’ 和 ‘e’ 标记的指定顺序相同
三、具体使用 1、将class文件打包,并指定入口类 D:\project>jar -cvfe com.bos.jar com.bos.YYZCApplication .\com\bos\*class .\com\bos\service\*class 已添加清单 正在添加: com/bos/Student.class(输入 = 279) (输出 = 213)(压缩了 23%) 正在添加: com/bos/YYZCApplication.class(输入 = 557) (输出 = 375)(压缩了 32%) 正在添加: com/bos/service/Working.class(输入 = 288) (输出 = 222)(压缩了 22%) ## 执行 D:\project>java -jar com.bos.jar hello world D:\project> 2、将class文件打包,并指定自定义mainfest.mf文件,mainfest.mf在当前路径下 cat mainfes.mf Manifest-Version: 1.0 Created-By: 1.8.0_144 (Oracle Corporation) Main-Class: com.bos.YYZCApplication D:\project>jar -cvfm com.bos.jar mainfes.mf .\com\bos\*class .\com\bos\service\*class 已添加清单 正在添加: com/bos/Student.class(输入 = 279) (输出 = 213)(压缩了 23%) 正在添加: com/bos/YYZCApplication.class(输入 = 557) (输出 = 375)(压缩了 32%) 正在添加: com/bos/service/Working.class(输入 = 288) (输出 = 222)(压缩了 22%) D:\project>java -jar com.bos.jar hello world D:\project> 3、将test目录下的所有文件打包,并指定mainfest.mf文件,mainfest.mf在当前路径下(不是在test路径下)(注意最后的dot) D:\project>jar -cvfm com.jar mainfes.mf -C test . 已添加清单 正在添加: com/(输入 = 0) (输出 = 0)(存储了 0%) 正在添加: com/bos/(输入 = 0) (输出 = 0)(存储了 0%) 正在添加: com/bos/service/(输入 = 0) (输出 = 0)(存储了 0%) 正在添加: com/bos/service/Working.class(输入 = 288) (输出 = 222)(压缩了 22%) 正在添加: com/bos/service/Working.java(输入 = 163) (输出 = 102)(压缩了 37%) 正在添加: com/bos/Student.class(输入 = 279) (输出 = 213)(压缩了 23%) 正在添加: com/bos/Student.java(输入 = 141) (输出 = 90)(压缩了 36%) 正在添加: com/bos/YYZCApplication.class(输入 = 557) (输出 = 375)(压缩了 32%) 正在添加: com/bos/YYZCApplication.java(输入 = 308) (输出 = 186)(压缩了 39%) D:\project>java -jar com.jar hello world D:\project>java---jar详解由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“java---jar详解”