为什么在执行jar

时间:2017-12-06 09:16:57

标签: java jar

InputStream manifestStream = ServiceController.class.getClassLoader().getResourceAsStream("META-INF/MANIFEST.MF")

Manifest manifest= new Manifest(manifestStream);

如上面的jar文件中的代码,当我在Mac上的命令行中执行jar时,它会读取其他清单文件。

据我所知,这种情况只是出现MAC和AWS服务实例,它不会出现windows和linux服务器。这意味着这个jar可以在windows和linux服务器中读取预期的清单文件。

有人可以看看吗?

已执行的命令:java -jar xxx.jar

Jar文件结构: enter image description here

1 个答案:

答案 0 :(得分:0)

通过7z或zip打开file.jar并查看文件夹META-INF - >检查MANIFEST.MF文件 - >检查此清单文件中的Main-Class。 并且您必须删除文件夹META-INF中的* .RSA,* .MF(仅保留MANIFEST.MF文件)