IntelliJ IDEA 创建的 JAR 文件无法运行

2024-05-19

我在 IntelliJ 中编写了一个跨越几个类的程序,当我在 IDE 中测试它时它运行良好。但是,每当我按照教程将项目制作成 .jar 可执行文件时,它就不会运行。

双击 out 文件夹中的文件时,该文件不会运行,并显示“无法启动 Java JAR 文件“projectName.jar”。

从终端打开它时,出现错误“无法找到或加载主类”。我使用了“$ java -jar projectName.jar”

我按照以下步骤操作:

  1. 打开项目结构、工件并单击 (+)。
  2. 在 JAR 下,来自具有依赖项的模块。
  3. 指向包含我的 main 方法的类,然后单击“确定”。
  4. 单击“应用”,然后单击“确定”退出。
  5. 然后我关闭项目结构并打开“构建”,然后打开“构建工件”...
  6. 然后我单击“构建”。
  7. 导航到 ~/IdeaProjects/projectName/out/artifacts/projectName_jar/projectName.jar

然后我尝试运行它,但它没有运行。我的项目既有 GUI,也可以从命令行运行。当我在终端中编译 main 方法时,它工作正常,但我需要一个 JAR 文件。我不确定我应该在问题中包含什么,因为我确信我的代码不相关。我也使用 Maven,不确定这是否相关。在构建 JAR 之前,我还应该做其他事情或添加到我的项目中吗?


这可能是在错误的位置创建清单的结果。

首先确保它在src/main/resources/META-INF/MANIFEST.MF

(Intellij 有时会错误地将其放在/src/main/java/META-INF/MANIFEST.MF)

然后确保 jar 正在寻找 META-INFsrc目录不在 /java 或 /resources 中。这意味着:

When you set up File>Project Structure>Artifacts>+>JAR>From modules with dependencies... then your Directory for META-INF/MANIFEST.MF should end at src. Example:

ONLY C:\Users\User\StudioProjects\Project\src\
NOT THE PREPOPULATED C:\Users\User\StudioProjects\Project\src\main\java

If your Project Structure jar is already set up change the Manifest File path to:

C:\Users\User\StudioProjects\Project\src\META-INF\MANIFEST.MF
INSTEAD OF C:\Users\User\StudioProjects\Project\src\main\java\META-INF\MANIFEST.MF
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IntelliJ IDEA 创建的 JAR 文件无法运行 的相关文章

随机推荐