如何检查一个罐子是否是多版本的

How to check if a jar is Multi-Release

将它从我拥有的 中分离出来,假设它足够通用。我如何在使用工件之前检查它是否是多版本 jar。

Multi-Release: true

我知道可以手动查看 jar 的 META-INF 中的 MANIFEST.MF 以获取上述属性,但是是否有可用的命令行选项?

也许我遗漏了一些已经存在的其他名称或者对一些非常明显的东西视而不见。但是我试着在 jar 中寻找这样的选项并且 java 工具也没有成功。

jar只支持创建和更新manifest文件的特殊操作。你可以通过这个:

unzip -p file.jar META-INF/MANIFEST.MF | grep "Multi-Release: true"

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

布尔值 isMultiRelease():Return 当此 JAR 文件是多版本 JAR 文件时为真。