可以通过编程方式访问MANIFEST.MF中定义的值吗?

时间:2010-02-04 09:29:28

标签: java android jar manifest

我可以从代码中访问java清单中定义的值吗?

5 个答案:

答案 0 :(得分:17)

可以通过编程方式访问MANIFEST.MF中的许多值,而无需查找和/或打开jar文件本身。

课程java.lang.Package提供对ImplementationTitleImplementationVendorImplementationVersionSpecificationTitleSpecificationVendorSpecificationVersion的访问权限

可以使用CodeSource类找到有关已签名类的信息,可以通过Class .getProtectionDomain() .getCodeSource()

检索

答案 1 :(得分:11)

使用JarFile打开文件,然后拨打getManifest()以获取Manifest。之后,您可以适当地访问属性。

答案 2 :(得分:5)

这是从JAR的清单原位中读取主要属性的简单example。检查实际存在的内容非常方便。

答案 3 :(得分:4)

使用以下方法检测外部Jar / SDK MANIFEST.MF信息。我们可以使用此信息来检测Jar版本等。使用http://docs.oracle.com/javase/6/docs/api/java/util/jar/Manifest.html

  public void getSDKInfo() {
    Package pkg = Manifest.class.getPackage();
    String specTitle = pkg.getSpecificationTitle();
    String vendor = pkg.getSpecificationVendor();
    String version = pkg.getSpecificationVersion();
   }

答案 4 :(得分:0)

com.jcabi.manifests.Manifests尝试jcabi-manifests实用工具类。使用此类,您可以使用一个衬管读取所有可用的MANIFEST.MF文件:

String name = Manifests.read("Foo-Name");

另外,请参阅此文章:http://www.yegor256.com/2014/07/03/how-to-read-manifest-mf.html