我有一个项目,包含一个单独的模块,和一些依赖。 我想在一个单独的目录中创建一个JAR,其中包含编译后的模块。此外,我希望在我的模块旁边有依赖项。

无论我如何扭曲IntelliJ的“构建JAR”过程,我的模块的输出都是空的(除了一个META-INF文件)。


当前回答

如果您正在阅读这个答案,因为您面临“资源文件未找到”错误,请尝试以下方法:

File -> Project Structure -> Artiface -> New, type is Other. Give it a nice name, and in the Output Layout, press Create Archive to create a new jar, and again, give it a nice name ;) Click on the jar you just added, add your compiled module output in the jar. Click on the jar again, in the lower pane, select your project path and add Manifest File then set correct Main Class and Class Path. Click Add Library Files, and select libraries you need (you can use Ctrl+A to select all). Build -> Build Artifact -> Clean & Build and see if the error is gone.

其他回答

我最近遇到了这个问题,如果之前的解决方案或环节缺少细节,我认为这些步骤很容易遵循。

如何使用IntelliJ IDEA 14.1.5创建一个。jar:

文件>保存全部。 用main方法运行驱动程序或类。 文件>项目结构。 选择标签“Artifacts”。 点击窗口顶部附近的绿色加号按钮。 从添加下拉菜单中选择JAR。选择“From modules with dependencies” 选择主类。 单选按钮应该选择“提取到目标JAR”。按下OK。 选中“基于生成构建”复选框 按应用并确定。 从主菜单中,选择build下拉菜单。 选择选项构建构件。

其他一些答案是无用的,因为一旦您从maven项目重新导入IntelliJ IDEA项目,所有的更改都将丢失。

jar的构建需要由运行/调试配置触发,而不是由项目设置触发。

Jetbrains在这里描述了如何实现这一目标:

https://www.jetbrains.com/help/idea/maven.html

向下滚动到名为“为Maven目标配置触发器”的部分。

(他们的描述唯一的缺点是,他们的截图是默认的黑白配色方案,而不是超级棒的darcula主题。啊!)

所以,基本上,你要做的就是打开“Maven项目”面板中,你发现感兴趣的项目,(在你的情况下,项目构建jar,)在你找到你想要的Maven目标执行,(通常是“包”的目标创建jar,)你打开上下文菜单,(右键单击Windows机器),将会有一个“运行/调试之前执行…”选项,您可以选择,它会把你的手从那里。真的很容易。

我尝试了大部分给出的答案,但在我的情况下,“out”文件夹(其中包含jar文件)没有被创建。这就完成了任务:

Build -> Build Artifacts ->(你会看到类名)-> Build

现在,“out”文件夹被创建,jar文件在其中。

以下是IntelliJ IDEA 2018.3 Help的官方解答。我试过了,成功了。

要从模块构建JAR文件; 在主菜单上,选择Build | Build Artifact。 从下拉列表中,选择JAR类型的所需工件。 该列表显示为当前项目配置的所有工件。要构建所有已配置的构件,请选择Build all 构件的选择。

这可能有点晚,但我设法解决它的方式-> 用winrar打开并删除ECLIPSEF。RSA和ECLIPSEF。SF在META-INF文件夹中,并且在MANIFEST.MF中放置“Main-class: main_class_name”(没有“.class”)。确保你在最后一行之后按了两次“Enter”,否则它将不起作用。