用命令创建
jar命令详解
jar cf test.jar test不显示压缩过程将当前路径下的test路径下的全部内容生成一个test.jar文件,如果已经存在则被覆盖。
jar cvf test.jar test显示压缩过程;
jar cvfM test.jar test不生成清单文件;
jar cvfm test.jar manifest.mf test自定义清单文件信息,m指定读取用户清单信息。清单文件是普通文本文件。
jar cvfm test.jar a.txt test将清单文件中的key-value对提取到META-INF/MANIFEST.MF文件中。
jar tf test.jar查看jar包内容;
jar tf test.jar > a.txt:如果jar包中的文件路径和文件非常多,用上一个命令就无法查看所有,所以用重定向将显示结果保存到文件中。
jar tvf test.jar:查看详细内容;
jar xf test.jar解压,将jar文件解压到当前目录下;
jar xvf test.jar解压,显示解压过程的信息;
jar uf test.jar Hello.class:更新test.jar中的Hello.jar文件,如果存在则覆盖,否则添加;
jar uvf test.jar Hello.class:更新时显示详细信息;
创建可用jar包
jar命令-e选项,该选项指定JAR包中作为程序入口的主类的类名。(网上的)
jar cvfe test.jar test.Test test
本人常用打jar包的方式
jar -cvf 文件名称(任意).jar class文件总名称(文件夹的名字)
上面的命令把test目录下的所有文件都压缩到test.jar包中,并指定使用test.Test类作为程序入口。
运行上面JAR包有两种方式:
java -jar test.jar
javaw test.jar
当创建JAR包时,所有类都必须放在与包结构对应的目录结构中。就像上面-e选项指定的Test类,表明入口类为Test类。因此在JAR包下包含Test.class文件。