jar命令的用法:ui
下面是jar命令的帮助说明:code
用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...递归
选项包括:索引
-c 建立新的归档文件 -t 列出归档目录 -x 解压缩已归档的指定(或全部)文件 -u 更新现有的归档文件 -v 在标准输出中生成详细输出 -f 指定归档文件名 -m 包含指定清单文件中的清单信息 -e 为捆绑到可执行 jar 文件的独立应用程序 指定应用程序入口点 -0 仅存储;不使用任何 ZIP 压缩 -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/ .ip
下文假设编译后的class文件在bin目录下ci
1、打包成通常的jar包io
输入以下命令便可: Cmd代码 复制代码 收藏代码编译
jar cvf counter.jar -C bin .
其中,“-C bin”其实是告诉jar命令先cd到bin目录下,再在此目录执行没有参数“-C bin”的命令,等价于:class
Cmd代码 复制代码 收藏代码cli
cd bin jar cvf counter.jar . // "."表明当前路径
2、打包成可运行的jar包
要打包成可运行的jar包,有两种方法,一是手动建立MANIFEST.MF文件,并在其中指定主类;二是使用jar的-e参数指定可运行jar包的入口点(即main类的彻底名称).
以Java源代码行数统计程序的打包为例,演示如何打包:
1)首先编辑MANIFEST.MF文件,内容以下: Mf代码 收藏代码复制代码
Manifest-Version: 1.0 Created-By: rsljdkt Class-Path: . Main-Class: Main
说明:
第一行指定清单的版本,若无,则JDK默认生成:Manifest-Version: 1.0
第二行指明建立的做者,若无,则JDK默认生成Created-By: 1.6.0_22(Sun Microsystems Inc.)
第三行指定主类所在类路径,
第四行指明程序运行的主类
2)使用jar命令进行打包: Cmd代码 复制代码 收藏代码
jar cvfm counter.jar MANIFEST.MF -C bin .
说明:
参数f:指定打包后的包名。
参数m:指定自定义的MANIFEST.MF清单文件,不然,JDK会自动生成不包含Main-Class的默认清单。
参数c:指定是建立新的归档文件。
参数v:在标准输出中生成详细输出,该选项是可选的。
执行以下命令便可:
Cmd代码 复制代码 收藏代码
jar cvfe counter.jar Main -C bin .
方法二:使用Eclipse的Export功能:
1、打包成通常的jar包:
步骤以下:
1)在要打包的项目上右击,选择Export
2)在弹出的窗口中,选择Java -> JAR File,而后点击next按钮
3)在JAR File Specification窗口中,设置打包成的文件名和存放位置,点击两侧next
4)在JAR Manifest Specification窗口中,设置MANIFEST.MF清单文件的配置,
若仅仅打包成单纯的jar包的话,不用作任何修改,采起默认便可 若打包成可执行jar包的话,可使用已存在的MANIFEST文件或者直接选择Main class
5)点击Finish按钮,完成打包。
2、打包成可运行的jar包
步骤以下:
1)在要打包的项目上右击,选择Export
2)在弹出的窗口中,选择Java -> Runnable JAR File,而后点击next按钮
3)在Runnable JAR File Specification窗口中,选择Launch configuration和Export destination
4)点击Finish按钮,打包完成。