运行 jar 时无法找到或加载主类

首先,我知道这个问题经常被问到。但是我的问题是不同的,所以请耐心看完整的描述。

我使用了 Intellij IDEA 2018.2 来构建 jar。我曾经用 2017 年建造过这个罐子,而且效果很好。最近,我使用intellij 构建了带有artifact 的jar。

http://img2.mukewang.com/615031db0001a42605020308.jpg

而且设置好像没问题。它以前对我有用。但是我运行了构建的jar,它表明“无法运行或加载主类”。

jar 文件似乎正常。但我发现 META-INF 是不同的。我有一些文件很奇怪:

http://img1.mukewang.com/615031e80001141216681300.jpg

我发现我是否删除了除 MANIFEST.MF 之外的这些文件。它可以正常工作。我不确定设置有什么区别。

我尝试了以下方法:

  1. 尝试删除 .idea 文件夹,然后打开项目。

  2. 尝试删除工件并配置一个新工件。

  3. 尝试修改模块的输出路径。

  4. 重新构建项目或重新构建工件 jar。

但是所有的方法都行不通。我尝试在 intellij 的 MAC OS 和 Windows OS 中使用相同的设置构建 jar,但结果似乎相同。任何人都可以给我一些建议。先感谢您。


MYYA
浏览 420回答 2
2回答

Cats萌萌

这些*,RSA, *.SF, *.DSA是在 jarfile 签名时创建的文件。显然,您使用的 jar 已签名,因此如果您提取内容并将它们放入新 jar 中,则签名无效且 Java 不会接受它们。因此,您应该删除签名,或者放弃您的工件生成的整个 jar。

神不在的星期二

我发现什么是解决方案。我不应该将依赖项作为文件夹导入。我必须通过选择所有 jar 文件而不是 jar 文件的文件夹来导入它们。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python