如何检查罐子是否为多版本

Nam*_*man 2 java jar manifest java-9 java-module

该分离出的最初的问题,我有,假设这是通用就够了。在使用工件之前,如何检查它是否是多版本的jar。

Multi-Release: true
Run Code Online (Sandbox Code Playgroud)

我知道它可以手动寻找到MANIFEST.MFMETA-INF的罐子上面的属性,但有一个命令行选项可用于此?

也许我错过了一些已经存在的其他名称,或者对非常明显的东西视而不见。但是我试图寻找这样的选项jarjava工具,但也没有成功。

neu*_*aus 5

jar仅在创建和更新期间支持清单文件的特殊操作。您可以这样解决:

unzip -p file.jar META-INF/MANIFEST.MF | grep "Multi-Release: true"
Run Code Online (Sandbox Code Playgroud)

除此之外,JarFile还包含以下可能有用的新方法:

boolean isMultiRelease():当此JAR文件是多版本JAR文件时,返回true。

  • 也许您应该补充一点,这仅适用于Linux。:) (3认同)