Jar命令

经常将工程打包成war包,打包如下:

// 将当前目录打包成war包

jar   cvf   temp.war   */  .

命令格式:

java cvf 打包文件名称 要打包的目录 打包文件保存路径

解压自然就是:

jar xvf temp.war

jar和linux下面的tar命令类似

Java Archive File,java存档文件。这有点类似zip文件。
1.  命令用法:jar
jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
选项:
    -c 创建新的存档
    -t 列出存档内容的列表
    -x 展开存档中的命名的(或所有的〕文件
    -u 更新已存在的存档
    -v 生成详细输出到标准输出上
    -f 指定存档文件名
    -m 包含来自标明文件的标明信息
    -0 只存储方式;未用ZIP压缩格式
    -M 不产生所有项的清单(manifest〕文件
    -i 为指定的jar文件产生索引信息
    -C 改变到指定的目录,并且包含下列文件:
如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。
 

jar使用范例:

 

(1)创建jar包

   jar cf hello.jar hello   利用test目录生成hello.jar包,如hello.jar存在,则覆盖

 

(2)创建并显示打包过程

jar cvf hello.jar hello     利用hello目录创建hello.jar包,并显示创建过程

例:E:\>jar cvf hello.jar hello

标明清单(manifest)

增加:hello/(读入= 0) (写出= 0)(存储了 0%)

增加:hello/TestServlet2.class(读入= 1497) (写出= 818)(压缩了 45%)

增加:hello/HelloServlet.class(读入= 1344) (写出= 736)(压缩了 45%)

增加:hello/TestServlet1.class(读入= 2037) (写出= 1118)(压缩了 45%)

 

 (3)显示jar包

jar tvf hello.jar   查看hello.jar包的内容

指定的jar包必须真实存在,否则会发生FileNoutFoundException。

 

(4)解压jar包

jar xvf hello.jar   解压hello.jar至当前目录

 

(5)jar中添加文件

jar uf hello.jar HelloWorld.java     将HelloWorld.java添加到hello.jar包中

 

(6)创建不压缩内容jar包

jar cvf0 hello.jar *.class      利用当前目录中所有的.class文件生成一个不压缩jar包

 

(7)创建带manifest.mf文件的jar包

jar cvfm hello.jar manifest.mf hello

创建的jar包多了一个META-INF目录,META-INF止录下多了一个manifest.mf文件,至于manifest.mf的作用,后面会提到.

 

(8)忽略manifest.mf文件

jar cvfM hello.jar hello    生成的jar包中不包括META-INF目录及manifest.mf文件

 

(9)加-C应用:

jar cvfm hello.jar mymanifest.mf -C hello/

表示在切换到hello目录下然后再执行jar命令

 

(10)-i为jar文件生成索引列表

当一个jar包中的内容很好的时候,你可以给它生成一个索引文件,这样看起来很省事。

jar i hello.jar     执行完这条命令后,它会在hello.jar包的META-INF文件夹下生成一个名为INDEX.LIST的索引文件,它会生成一个列表,最上边为jar包名。

 

(11)导出解压列表

jar tvf hello.jar >hello.txt   如果你想查看解压一个jar的详细过程,而这个jar包又很大,屏幕信息会一闪而过,这时你可以把列表输出到一个文件中,慢慢欣赏!

 

 (12)jar -cvf hello.jar hello/*

   例如原目录结构如下:
   hello
     |---com
     |---org
部分摘自:http://blog.csdn.net/qjyong/article/details/1658904
原文地址:https://www.cnblogs.com/ywl925/p/2990766.html