IntelliJ IDEA中的错误Manifest.mf创建了.jar

2022-08-31 10:03:39

我正在尝试使用OptaPlanner 6.0.1库将项目打包到.jar通过IntelliJ IDEA的jar工件,而不是我的manifest.mf包含标准

Manifest-Version: 1.0
Main-Class: a.b.c.app

该jar使用ecj-3.7.2.jar中提供的那个,ecj-3.7.2.jar是OptaPlanner的支持库之一:

Manifest-Version: 1.0
Build-Jdk: 1.6.0_26
Built-By: ibrandt
Created-By: Apache Maven
Archiver-Version: Plexus Archiver

因此,尝试运行应用时会发生错误。如果我手动将.jar文件中的清单替换为我的清单,一切都可以正常工作。我能做些什么来解决这个问题吗?"no main manifest attribute, in appname.jar"

我将库保存在一个单独的/lib目录中,它们被添加到jar工件的根中,作为提取目录,IntelliJ IDEA是v13.0.1。


答案 1

我遇到了同样的问题。

确保您的清单。MF 位于:

src/main/resources/META_INF/

src/main/java/META_INF/

答案 2

要修复:

  1. 文件>项目结构
  2. 在左侧的“项目设置”下,选择“工件”
  3. 在中间窗格中查找 JAR 定义并选择它
  4. 在“输出布局”选项卡的左窗格中,在列表中找到jar文件并将其选中
  5. 在底部,单击“使用现有清单”按钮,然后选择项目源中的清单文件。
  6. 单击“确定”并运行生成

推荐