首先,我知道这个问题经常被问到。但是我的问题有所不同,因此请耐心查看完整的说明。
我已经利用intellij IDEA 2018.2来构建jar。我曾经用2017年制造过这个罐子,而且效果很好。最近,我使用了intellij来构建带有工件的jar。
设置似乎很好。以前对我有用。但是我运行了内置的jar,它指示“主类无法运行或加载”。
jar文件似乎正常。但是我发现META-INF是不同的。我有一些文件很奇怪:
我发现是否删除了除MANIFEST.MF之外的这些文件。它可以正常工作。我不确定设置有什么区别。
我尝试了以下方法:
尝试删除.idea文件夹,然后打开项目。
尝试删除工件并配置一个新工件。
尝试修改模块的输出路径。
重建项目或重建工件jar。
但是所有方法都行不通。而且我试图在intellij的MAC OS和Windows OS中使用相同的设置来构建jar,但是结果似乎是相同的。谁能给我一些建议。预先谢谢你。
答案 0 :(得分:1)
*,RSA, *.SF, *.DSA
是对jarfile进行签名时创建的文件。显然,您使用的jar已签名,因此,如果提取内容并将它们放在新的jar中,则签名无效,Java将不会接受它们。因此,您应该删除签名,或者辞职您的工件所产生的整个jar。
答案 1 :(得分:0)
我发现什么是解决方案。我不应该将依赖项作为文件夹导入。我必须通过选择所有jar文件而不是jar文件的文件夹来导入它们。