常见的压缩/解压 jar 文件
有关 jar 文件
解压 jar 文件:
jar xvf xxx.jar
unzip xxx.jar -d ./directoryToExtractTo
jar tf jar-file # 仅仅查看文件
//使用 jar 命令只能解压到当前目录
压缩为 jar 文件:
jar cvf xxx.jar .
jar cf jar-file input-file(s)
如果是使用 Spring boot big jar 的方式, 要制定 manifest 文件
jar cfm xxx.jar Manifest.txt MyPackage/*.class
jar cmf jar-file existing-manifest input-file(s)
更新 jar 文件 使用 input-file(s) 添加或更新 jar 里面的文件
jar uf jar-file input-file(s)
# 只更新 my.jar 里的这个文件
jar -uf my.jar BOOT-INF/classes/application-Production.properties
more info:
- https://docs.oracle.com/javase/tutorial/deployment/jar/appman.html
- https://docs.oracle.com/javase/tutorial/deployment/jar/index.html
- https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jar.html
jar (Java™ Archive) 文件格式是 Java 提供的压缩方式, 和 zip 使用的格式是一样的. 不过里面添加了一些其他特性, 比如使用 MANIFEST.MF 添加了扩展机制, 使使用者能够更方便的扩展.
- MANIFEST.MF 作为 jar 文件的元数据, 默认路径是: META-INF/MANIFEST.MF
- 可以在 MANIFEST.MF 里添加 Class-Path 来设置依赖的其他 jar 文件, 打包进去;