1. 运行cmd,输入jar命令,回车,即可看到jar命令的使用说明:
C:\Users\administrator>jar
Usage: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
Options:
-c create new archive
-t list table of contents for archive
-x extract named (or all) files from archive
-u update existing archive
-v generate verbose output on standard output
-f specify archive file name
-m include manifest information from specified manifest file
-e specify application entry point for stand-alone application
bundled into an executable jar file
-0 store only; use no ZIP compression
-M do not create a manifest file for the entries
-i generate index information for the specified jar files
-C change to the specified directory and include the following file
If any file is a directory then it is processed recursively.
The manifest file name, the archive file name and the entry point name are
specified in the same order as the 'm', 'f' and 'e' flags.
Example 1: to archive two class files into an archive called classes.jar:
jar cvf classes.jar Foo.class Bar.class
Example 2: use an existing manifest file 'mymanifest' and archive all the
files in the foo/ directory into 'classes.jar':
jar cvfm classes.jar mymanifest -C foo/ .
2. 进入项目所在路径\TestDemo\build\classes\,项目名称为TestDemo,classes文件夹存放项目中生成的class文件:
sendMsg为要打包的包名,其下存放要打包的class文件:
3. 新建主类清单文件
在classes目录下新建文件MANIFEST.MF,文件内容如下:
Manifest-Version: 1.0
Created-By: 1.6.0_45 (Sun Microsystems Inc.)
Main-Class: sendMsg.WebServiceSoap_WebServiceSoap_Client
内容解释:
第二行为jdk版本;
第三行为主类入口,即main函数所在文件,sendMsg为包名称。
MANIFEST.MF文件是为了在执行jar包时,可以快速定位到主程序入口。
4. 打包jar文件
jar -cfm jar包名称 主类清单文件 要打包的class文件
即 jar -cfm sendMsg.jar MANIFEST.MF ./sendMsg/*.class
在classes目录下生成sendMsg.jar文件
5. 运行jar文件:
java -jar sendMsg.jar 参数1 参数2 参数3 参数4 参数5 参数6