gpt4 book ai didi

java - 我无法在我的 Java 代码中访问正确的 MANIFEST.MF 文件

转载 作者:行者123 更新时间:2023-11-30 07:18:47 25 4
gpt4 key购买 nike

我在单元测试中尝试了多种方法从正确的 jar 访问 list 。我遇到的问题是它似乎正在读取它遇到的第一个 jar 文件,而不是我类(class)的文件。这是我最近的尝试

InputStream is = Test.class.getResourceAsStream("/META-INF/MANIFEST.MF");
try {
if (is == null) {
System.out.println("null no input stream");
} else {
Manifest manifest = new Manifest(is);
Attributes attributes = manifest.getMainAttributes();
v = attributes.getValue("Test");
System.out.println("Test="+v);
v = attributes.getValue("Created-by");
System.out.println("By="+v);
}
} catch (IOException e) {
System.out.println("error");
} finally {
if (is != null) {
is.close();
}
}

这是结果

测试=null
By=1.6.0_18 (Sun Microsystems Inc.)

我想使用的 MANIFEST.MF 有一个值用于 Test,所以我知道这是在读取错误的文件

有谁知道如何指定包含要使用的单元测试 list 文件的 jar?

最佳答案

这就是我想出的......注意用你的类/对象替换 HTMLDocument。

   HTMLDocument htmlDoc = new HTMLDocument();

try
{
JarFile jarfile = new JarFile(htmlDoc.getClass().getProtectionDomain().getCodeSource().getLocation().getPath());

// Get the manifest
Manifest manifest = jarfile.getManifest();

Map<String,Attributes> msa = manifest.getEntries();

for (String key : msa.keySet())
{
System.out.println("KEY: " + key);

Attributes a = msa.get(key);

for (Object k : a.keySet())
{
System.out.println(k + " - " + a.get(k));
}
}
}
catch (IOException e)
{
System.out.println("error");
}

关于java - 我无法在我的 Java 代码中访问正确的 MANIFEST.MF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15116968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com