- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图从 MANIFEST.MF 文件中获取一些属性,但它们返回 null。
list
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: jenkins
Build-Time: 2016-04-09T18:02:46Z Class-Path: spigot-1.8-R0.1-SNAPSHOT.jar Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_77
Name: Build Details
Implementation-SCM-Revision: SomeCommit
Implementation-Build-Number: SomeBuildNumber
Implementation-Title: SomeTitle
Implementation-Version: 4.0.0-SNAPSHOT
代码(此代码与使用的代码不完全相同,但几乎相同)
第一次尝试
public void doStuff() {
String version;
InputStream stream = Main.class.getClassLoader().getResourceAsStream("META-INF/MANIFEST.MF");
Properties properties = new Properties();
if (stream != null) {
try {
properties.load(stream);
version = properties.getProperty("Implementation-SCM-Revision"); //This is null
} catch (IOException ex) {
//TODO handle exception
}
}
第二次尝试
public void doStuff() {
Enumeration resEnum;
try {
resEnum = Thread.currentThread().getContextClassLoader().getResources(JarFile.MANIFEST_NAME);
while (resEnum.hasMoreElements()) {
try {
URL url = (URL)resEnum.nextElement();
InputStream is = url.openStream();
if (is != null) {
Manifest manifest = new Manifest(is);
Attributes mainAttribs = manifest.getMainAttributes();
String version = mainAttribs.getValue("Implementation-SCM-Revision"); //This is null
}
}
catch (Exception e) {
}
}
} catch (IOException e1) {
}
}
问题是,当打印 Attributes#getMainAttributes() 中的所有键时,它会打印 [Archiver-Version, Implementation-Title, Sealed, Specification-Version, Implementation-Version, Created-By, Manifest- Version, Build-Jdk, Specification-Vendor, Implementation-Vendor, Ant-Version, Specification-Title, Built-By, Main-Class]
,不包括Implementation-SCM-Revision
。这就是我想要得到的。
没有生成堆栈跟踪,它只是在打印 Implementation-SCM-Revision
属性时在控制台打印 null
最佳答案
Oracle 设法打破了 Manifest 类,尽管这很困难:
JDK-8201636 null value when trying to read manifest file attributes
另请参阅 MANIFEST entires 的类似错误:
JDK-8031748 Clarify jar entry orders in a jar file :
From the beginning, the jar file has an “undocumented” assumption thatthe MANIFEST.MF file and signature-related files (block and SF) shouldappear at the beginning (except for directory entries, say,META-INF/).
关于java - MANIFEST.MF 属性返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36529228/
当在 python 包中包含外部文件时,我在 MANIFEST.in 中将其定义为 MANIFEST.in include aikif/web_app/static/* 构建包将生成一个 MANIFE
我们使用 java 插件的 manifest 属性将 MANIFEST.MF 文件写入我们的 jar 工件。 我们还使用 gradle 构建 GWT 项目,并且我们为这些项目定义的输出是 zip。我想
感谢您的阅读! 当我做 docker-compose up在 laradock 上,我终于收到了一个类似标题的错误。 在这种情况下,有人知道正确的解决方案吗? 原来我有那个laradock,但我不小心
我收到以下错误,但我的 list 文件没有问题。 我尝试更改项目名称,但更改项目名称后出现此错误。帮助我解决此错误,而无需将项目名称更改回旧名称。 我的旧项目名称是“radio”,我的新项目名称是“M
错误: list 文件没有以最后的换行符结尾... 检查 list 文件是否以最后的换行符结尾(按照 JAR 规范的要求) 应为“:” 这是 AndroidManifest
大家好! 我在部署 Shiny App 时遇到问题。部署应用程序时,我得到以下控制台输出: Preparing to deploy application...DONE Uploading bundl
我开始使用 Android 进行开发。我将 SDK 23 与 Android M 权限的系统一起使用。在互联网的例子中,当我想检查权限时,我发现: this.checkSelfPermission(M
使用 SHA256 摘要标识符 拉取图像失败 最佳答案 不幸的是,这是 DockerHub 删除 Docker 1.9 守护进程的向后兼容性的副作用。当使用 Docker 1.10 推送图像时,较旧的
我正在使用 Next.js 开发一个服务器端渲染网站,我想让它成为一个渐进式 Web 应用程序,但问题是我找不到让它正确发生的方法。 当我构建应用程序时,它可以正确地为 service worker
我在 Windows 上使用 Docker,当我尝试使用此命令提取 PHP 镜像时 $ docker pull php 我收到这条消息: Using default tag: latest lates
我收到错误消息“标记属性包具有无效字符‘’。”在 Android Manifest 中,虽然没有明显的无效字符。这是代码:
我是 JavaScript 开发新手。我正在尝试制作一个可以在 iOS 和 Android 设备上离线运行的应用程序。我在没有示例的情况下学习时遇到困难,而且我找不到满足我需要的示例。 这是我发现的;
我在 Windows 上使用 Docker,当我尝试使用此命令提取 PHP 镜像时 $ docker pull php 我收到了这条消息: Using default tag: latest late
以下是我的代码:。AndroidManifest.xml。在MainActivity.Java中
当我安装 ExtUtils::Manifest 时,perl 推荐我安装 ExtUtils::Manifest。 操作系统为Win10,perl版本为strawberry-perl-5.24.4.1-
我一直在仔细阅读 app.manifest,但我不明白。好吧,我确实知道您需要它来做一些事情,例如:我们确实需要和使用。但还有这个: 这是我没有得到的部分,我可以将其忽略而不会有任何后果,对吗?我们
我创建了一个类如下: #include #define DLLEXPORT _declspec( dllexport ) using namespace std; class DLLEXPORT
我在使用webpack运行应用程序时遇到问题,出现以下错误: URIError: Failed to decode param '/%PUBLIC_URL%/manifest.json' at
我可以使用 Java 执行此操作吗? 我指的是 在 Android list 中 如果不能,我至少可以提供可供用户选择的替代方案吗? 最佳答案 看this and the asker referen
使用maven得到编译好的*.war文件,其中包含: - META-INF - - MANIFEST.MF - WEB-INF - - classes - - lib - - web.xml 使用 j
我是一名优秀的程序员,十分优秀!