使用 Intellij 2016 创建 Jar - 无主清单属性

2022-08-31 15:20:35

我在运行Intellij创建的jar时得到了。我提取了 jar,并观察到有另一个清单文件,而不是我在创建工件时指定的文件。no main manifest attribute

当我在IDE中打开清单时,它显示所有内容,但在创建jar后,我得到了一个全新的清单文件。

Manifest-Version: 1.0
Main-Class: YoutubeList

我尝试了其他答案中的每一个解决方案,但仍然没有得到正确的答案。为什么在Intellij中创建一个简单的jar是一项地狱般的任务,它应该帮助开发人员!

编辑

有时它不包括Jar中的.class文件,这导致could not found or load class


答案 1

我陷入了与maven构建相同的问题。从项目结构设置 (ctrl+alt+shift+S) 创建项目时,必须更改清单目录:

<project folder>\src\main\java 

将 java 更改为资源

<project folder>\src\main\resources

我还将选项提取用于目标JAR,并且运行良好。

编辑

您可以在此处找到详细的分步,其他解决方案:https://stackoverflow.com/a/45303637/2640826


答案 2

我花了几天时间来解决它。我的解决方案:我加载了一个出现在这个答案中的项目。然后,我比较并更正了加载的项目和我自己的项目的设置。我比较/更正了:

  • 运行/调试配置
  • 清单。中频
  • 在 Progect 结构设置中:项目、模块(标记什么是源、资源等)、工件。

最后,我将 META-INF 放在资源目录中。

也许我做了多余的动作,但它对我有用:)

附言:还需要在Progect结构设置中选择“继承项目编译输出路径” - >模块 - >路径

enter image description here


推荐