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

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


当前回答

我试图从一个多模块的Kotlin应用程序构建一个jar,并得到了臭名昭著的“没有主清单属性”错误。在src/main/resources中创建清单目录也不能工作。

相反,它直接在src中创建:src/META-INF/MANIFEST.MF。

其他回答

这里有2个maven项目的例子,一步一步:

方法一:使用maven和pom.xml构建jar

File, new, project, maven create a package , create a java program inside that package at pom.xml, add maven-jar-plugin. <plugin> <!-- Build an executable JAR --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>somePackage.sample</mainClass> </manifest> </archive> </configuration> </plugin>

屏幕截图: 4. 点击搜索图标打开maven项目框,输入maven,

点击清洁,然后点击安装 jar文件将显示在目标文件夹中 使用以下命令测试罐子 java jar

方法2:使用maven构建jar,不修改pom.xml

文件、新建、项目、maven 创建一个包,在该包中创建一个Java程序(如上所述) 文件->项目结构->项目设置-> Artifacts ->单击绿色加号-> Jar ->来自依赖模块

非常重要!

清单。MF需要在你的资源文件夹中,Main.Class需要引用{package}-{class-name-that-contains-main-class}

然后单击菜单上的构建,构建工件,构建

在out文件夹中找到罐子

运行它:)

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

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

使用Gradle来构建你的项目,然后jar就在构建文件中。这是一个Stack Overflow链接,介绍如何用Gradle构建.jar文件。

Java项目与Gradle和构建jar文件在Intellij IDEA -如何?

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

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

如果你试图用kotlin构建一个jar,你需要创建一个src/main/java文件夹,并使用这个文件夹作为META-INF文件夹的位置。