我有一个包含单个模块和一些依赖项的项目。我想在一个单独的目录中创建一个包含已编译模块的 jar。此外,我希望在我的模块旁边显示依赖项。
无论我如何扭曲 IntelliJ 的“构建 jar”过程,我的模块的输出都是空的(除了 META-INF 文件)。
原文由 ripper234 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个包含单个模块和一些依赖项的项目。我想在一个单独的目录中创建一个包含已编译模块的 jar。此外,我希望在我的模块旁边显示依赖项。
无论我如何扭曲 IntelliJ 的“构建 jar”过程,我的模块的输出都是空的(除了 META-INF 文件)。
原文由 ripper234 发布,翻译遵循 CC BY-SA 4.0 许可协议
这在2017年仍然是一个问题,我希望它能帮助那里的人!我发现了 2 种在 IntelliJ 2017.2 下创建工作 jar-s 的可能性
1. 从 IntelliJ 创建工件:
您必须更改清单目录:
<project folder>\src\main\java
将“java”替换为“资源”
<project folder>\src\main\resources
它应该是这样的:
然后你选择你想要打包在你的jar中的依赖项,或者靠近你的jar文件
要构建您的工件,请转到构建工件并选择“重建”。它将使用您的 jar 文件及其依赖项创建一个“out”文件夹。
2.使用maven-assembly-plugin
将构建部分添加到 pom 文件
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>ServiceCreate</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>com.svt.optimoo.App</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
此过程将在“目标”文件夹下创建 jar 文件
原文由 Zsolt Tolvaly 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
这是使用 IntelliJ 10 构建 jar 的方法 http://blogs.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/
File
->Project Structure
->Project Settings
->Artifacts
-> 点击绿色加号
->Jar
->From modules with dependencies...
如果您需要使 jar 可运行,请选择一个
主类
(具有main()
方法的主类)。以上将“骨架”设置为将保存 jar 的位置。要实际构建并保存它,请执行以下操作:
提取到目标Jar
好的
构建 |构建工件 |建造
尝试从中提取 .jar 文件
项目名称 |出|文物 |项目名称_jar |项目名称.jar