単体テストで正しい jar からマニフェストにアクセスする方法を数多く試しました。私が抱えている問題は、クラスのファイルではなく、最初に到達したjarファイルを読み取っているように見えることです。これが私の最近の試みです
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();
}
}
そしてこれらは結果です
Test=null
By=1.6.0_18 (Sun Microsystems Inc.)
使用MANIFEST.MF
したい には の値があるためTest
、これが間違ったファイルを読み取っていることがわかります
単体テストで使用するマニフェスト ファイルを含む jar を指定する方法を知っている人はいますか?