unix中jar命令详解.doc
文本预览下载声明
转自chinaunix】JAR命令JAR包详解
2008-04-10 18:01?684人阅读?评论(0)?收藏?举报
原文地址/u1/38934/showart.php?id=392012
JAR命令JAR包详解?????write by Jack.Hao
?
JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包。当然也是有区别的,JAR包中有一个META-INF/MANIFEST.MF文件,当你找成JAR包时,它会自动生成。
JAR包是由JDK安装目录/bin/jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib/tool.jar工具包中的类。这些细节就不用管它了。
让我们看看它怎么么使用吧:
?
!--=========================Jack.Hao=================================--
?
一.jar命令参数:
?
jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C?目录]文件名...
?
其中{ctxu}这四个参数必须选选其一。[v f m e 0 M i ]是可选参数,文件名也是必须的。
?
-c??创建一个jar包
-t?显示jar中的内容列表
-x?解压jar包
-u?添加文件到jar包中
-f?指定jar包的文件名
?
-v??生成详细的报造,并输出至标准设备
-m?指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)
-0?产生jar包时不对其中的内容进行压缩处理
-M?不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置
-i????为指定的jar文件创建索引文件
-C?表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令
?
?
!--===========================Jack.Hao==========================--
?
二.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?????执行完这条
显示全部