常见的压缩/解压 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:

  1. https://docs.oracle.com/javase/tutorial/deployment/jar/appman.html
  2. https://docs.oracle.com/javase/tutorial/deployment/jar/index.html
  3. https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jar.html

jar (Java™ Archive) 文件格式是 Java 提供的压缩方式, 和 zip 使用的格式是一样的. 不过里面添加了一些其他特性, 比如使用 MANIFEST.MF 添加了扩展机制, 使使用者能够更方便的扩展.

  1. MANIFEST.MF 作为 jar 文件的元数据, 默认路径是: META-INF/MANIFEST.MF
  2. 可以在 MANIFEST.MF 里添加 Class-Path 来设置依赖的其他 jar 文件, 打包进去;

标签: none

添加新评论