¿Se puede acceder a los valores definidos en MANIFEST.MF mediante progtwigción?

¿Puedo acceder a los valores definidos en un manifiesto Java desde el código?

Abra el archivo con JarFile y luego llame a getManifest() para obtener el Manifest . Después de eso, puedes acceder a los atributos de manera apropiada.

Se puede acceder a muchos de los valores en MANIFEST.MF mediante progtwigción sin tener que buscar y / o abrir el archivo jar en sí.

La clase java.lang.Package proporciona acceso a ImplementationTitle , ImplementationVendor , ImplementationVersion , SpecificationTitle , SpecificationVendor y SpecificationVersion .

La información sobre las clases firmadas se puede encontrar utilizando la clase CodeSource , que se puede recuperar a través de Class .getProtectionDomain() .getCodeSource()

Aquí hay un ejemplo simple de leer los atributos principales del manifiesto de un JAR in situ . Es útil para verificar lo que hay realmente allí.

Use la siguiente forma para detectar la Información MANIFEST.MF Jar / SDK externa. Podríamos utilizar esta información para detectar la versión Jar, etc. Utilice 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(); } 

Pruebe com.jcabi.manifests.Manifests clase de utilidad de jcabi-manifiestos . Usando esta clase puedes leer todos los archivos MANIFEST.MF disponibles con un trazador de líneas:

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

Además, consulte este artículo: http://www.yegor256.com/2014/07/03/how-to-read-manifest-mf.html