1.java
2.jar
2.1 介绍
- JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包。(
也可以用war包. jar cvf aa.war
)- 当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成。
- JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类。
jar命令格式:
jar {c t x u i }[ v f m n 0 P M e ][jar-file][manifest-file] [entry-point] [-C dir] files ...
其中{ctxu}
这四个参数必须选选其一(互斥的参数)。[v f m e 0 M i ]
是可选参数,文件名也是必须的。
-c
创建一个jar包
-t
显示jar中的内容列表
-x
解压jar包
-u
添加文件到jar包中
-i
为指定的jar文件创建索引文件
-v
生成详细的报造,并输出至标准设备
-f
指定jar包的文件名
-m
指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)
-0
产生jar包时不对其中的内容进行压缩处理
-P
保留文件名中的前导‘/’(绝对路径)和‘…’(父目录)组件
-M
不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置
-e
为打包成可执行JAR文件的独立应用程序指定应用程序入口点
-C
表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令
2.2 使用
- 创建jar包
jar
cvf
hello.jar hello #创建hello.jar
,存在则覆盖
jarcvf
hello.jar -C ./jar hello #在当前目录生成hello.jar
,选取内容为./jar/hello
文件夹
- 解压jar包
jar
xvf
hello.jar
- 查看jar包
jar
tvf
hello.jar
- jar中添加文件
jar
uvf
hello.jar aa.txt # 将aa.txt加入hello.jar
jaruvf
hello.jar./jar/aa.txt
#会添加到jar目录下 (在上层目录)
jaruvf
hello.jar../jar/aa.txt
#会添加到jar目录下 (在当前目录)
- 创建不压缩内容jar包
jar
cvf0
hello.jar *.class #利用当前目录中所有的.class文件生成一个不压缩jar包
- 创建带manifest.mf文件的jar包
jar
cvfm
hello.jar manifest.mf hello #创建的jar包多了一个META-INF目录,META-INF止录下多了一个manifest.mf文件,至于manifest.mf的作用,后面会提到.
- 忽略manifest.mf文件
jar cvfM hello.jar hello #生成的jar包中不包括META-INF目录及manifest.mf文件