首先,我知道这个问题经常被问到。但我的问题不同,所以请耐心等待完整的描述。
我用intellij IDEA 2018.2来构建jar。我用2017年制作了罐子,它工作得很好。最近,我使用intellij来构建带有工件的jar。
设置似乎很好。它以前对我有用。但是我运行了构建的jar,它表示“主类无法运行或加载”。
jar文件似乎正常。但我发现META-INF是不同的。我有一些文件很奇怪:
我发现除了MANIFEST.MF之外我是否删除了这些文件。它可以正常工作。我不确定设置的区别。
我尝试了以下方法:
但是所有的方法都行不通。我试图在intellij的MAC OS和windows OS中使用相同的设置构建jar,但结果似乎相同。任何人都可以给我一些建议。先感谢您。
*,RSA, *.SF, *.DSA
是jarfile签名时创建的文件。显然,您使用的jar是签名的,因此如果您提取内容并将它们放在新jar中,签名将无效,Java将不接受它们。因此,您应该删除签名,或者重新设置工件生成的整个jar。
我发现什么是解决方案。我不应该将依赖项导入为文件夹。我必须通过选择所有jar文件而不是jar文件的文件夹来导入它们。