可以通过编程方式访问 MANIFEST.MF 中定义的值吗?
我可以从代码访问 java 清单中定义的值吗?
Can I access the values defined in a java manifest from code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我可以从代码访问 java 清单中定义的值吗?
Can I access the values defined in a java manifest from code?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
可以通过编程方式访问 MANIFEST.MF 中的许多值,而无需查找和/或打开 jar 文件本身。
类
java.lang.Package
提供对 的访问ImplementationTitle
,ImplementationVendor
,实现版本
,SpecificationTitle
,SpecificationVendor
和SpecificationVersion
。有关签名类的信息可以使用
CodeSource 找到
类,可以通过Class
.getProtectionDomain()
.getCodeSource()
Many of the values in the MANIFEST.MF can be accessed programmatically without having to find and/or open the jar file itself.
The class
java.lang.Package
provides access to theImplementationTitle
,ImplementationVendor
,ImplementationVersion
,SpecificationTitle
,SpecificationVendor
and theSpecificationVersion
.Information about signed classes can be found using the
CodeSource
class, which can be retrieved viaClass
.getProtectionDomain()
.getCodeSource()
使用
JarFile
然后调用getManifest()
来获取清单
。之后您可以适当地访问属性。Open the file with
JarFile
and then callgetManifest()
to get theManifest
. After that you can access the attributes appropriately.下面是一个从 JAR 清单中原位读取主要属性的简单示例 。它可以很方便地检查实际存在的内容。概括地说,
Here's a simple example of reading the main attributes from a JAR's manifest in situ. It's handy for checking up on what's actually there. In outline,
使用以下方式检测外部 Jar/SDK MANIFEST.MF 信息。我们可以使用此信息来检测 Jar 版本等。使用 http://docs.oracle.com/javase/6/docs/api/java/util/jar/Manifest.html
Use following way to detect External Jar/SDK MANIFEST.MF Info. We could use this info for detecting Jar version etc. Use http://docs.oracle.com/javase/6/docs/api/java/util/jar/Manifest.html
尝试
com.jcabi.manifests.Manifests
来自 jcabi-manifests 的实用程序类。使用此类,您可以通过一行读取所有可用的 MANIFEST.MF 文件:
另外,请参阅这篇文章:http://www.yegor256.com/2014/07/03/how-to-read-manifest-mf.html
Try
com.jcabi.manifests.Manifests
utility class from jcabi-manifests. Using this class you can read all available MANIFEST.MF files with one liner:Also, see this article: http://www.yegor256.com/2014/07/03/how-to-read-manifest-mf.html