Kri*_*ris 13 java parsing jar manifest
许多Java jar中包含的manifest.mf包含的标题看起来很像电子邮件标题.见例子[*]
我想要一些可以将这种格式解析为键值对的东西:
Map<String, String> manifest = <mystery-parse-function>(new File("manifest.mf"));
Run Code Online (Sandbox Code Playgroud)
我已经搜索了一下"解析manifest.mf""manifest.mf格式"等等,我发现了很多关于标题含义的信息(例如在OSGI包中,标准的Java jar等),但那不是什么我在找.
看一些示例manifest.mf文件,我可能会实现解析它的东西(反向工程格式),但我不知道我的实现是否真的正确.所以我也不是在寻找别人快速抛出解析函数,因为它遇到了同样的问题).
对我的问题的一个很好的答案可以指向我的格式规范(所以我可以编写自己的正确的解析函数).最好的答案将我指向已经具有正确实现的现有开源库.
Bac*_*ash 18
可以使用Manifest类读取MANIFEST.MF文件:
Manifest manifest = new Manifest(new FileInputStream(new File("MANIFEST.MF")));
Run Code Online (Sandbox Code Playgroud)
然后你可以通过这样做获得所有条目
Map<String, Attributes> entries = manifest.getEntries();
Run Code Online (Sandbox Code Playgroud)
和所有主要属性
Attributes attr = manifest.getMainAttributes();
Run Code Online (Sandbox Code Playgroud)
我的MANIFEST.MF文件是这样的:
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
Run Code Online (Sandbox Code Playgroud)
我的代码:
Manifest manifest = new Manifest(new FileInputStream(new File("MANIFEST.MF")));
Attributes attr = manifest.getMainAttributes();
System.out.println(attr.getValue("Manifest-Version"));
System.out.println(attr.getValue("X-COMMENT"));
Run Code Online (Sandbox Code Playgroud)
输出:
1.0
Main-Class will be added automatically by build
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5015 次 |
| 最近记录: |