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

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


当前回答

如果您在项目中使用第三方库,或者在创建MANIFEST时遇到问题。MF文件,在运行使用

File > Project Structure > Artifacts > '+' > JAR > From modules with dependencies > .....

上述方法。

相反,我建议您创建一个空JAR,并手动将所有其他元素添加到输出根中。关于这种方法的一篇精彩的博客文章可以在这里找到:http://karthicraghupathi.com/2016/07/10/creating-an-executable-jar-in-intellij-idea/我尝试了上面提到的步骤,一切都很顺利!

其他回答

当我使用这些解决方案这个错误来:

java -jar xxxxx.jar

在xxx.jar中没有主清单属性

解决方案是:

您必须更改清单目录:

<project folder>\src\main\java 

将Java更改为资源

<project folder>\src\main\resources

您可能想看一看Maven (http://maven.apache.org)。您既可以将它用作应用程序的主要构建过程,也可以仅通过Edit Configurations对话框执行某些任务。在Maven中创建一个模块的JAR的过程是相当简单的,如果您希望它在一个可自行执行的JAR中包含所有依赖项,那么这个过程也是非常简单的。

如果您以前从未使用过Maven,那么您应该阅读Better Builds With Maven。

Ant和Maven被广泛使用。我更喜欢Ant,我觉得它更轻量级,你作为开发人员更有控制权。有些人会认为这是它的缺点:-)

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

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

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

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

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

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