使用 Gradle 创建可运行的 JAR
2022-08-31 06:46:18
到目前为止,我通过Eclipse“导出...”创建了可运行的JAR文件。功能性,但现在我切换到IntelliJ IDEA和Gradle进行构建自动化。
这里的一些文章建议使用“应用程序”插件,但这并不能完全导致我预期的结果(只是一个JAR,没有启动脚本或类似的东西)。
我怎样才能达到Eclipse与“导出...”相同的结果。对话?
到目前为止,我通过Eclipse“导出...”创建了可运行的JAR文件。功能性,但现在我切换到IntelliJ IDEA和Gradle进行构建自动化。
这里的一些文章建议使用“应用程序”插件,但这并不能完全导致我预期的结果(只是一个JAR,没有启动脚本或类似的东西)。
我怎样才能达到Eclipse与“导出...”相同的结果。对话?
可执行 jar 文件只是一个在其清单中包含 Main-Class 条目的 jar 文件。因此,您只需要配置 jar 任务,即可在其清单中添加此条目:
jar {
manifest {
attributes 'Main-Class': 'com.foo.bar.MainClass'
}
}
您可能还需要在清单中添加类路径条目,但这样做的方式相同。
查看 http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html
JB Nizet和Jorge_B的答案都是正确的。
在最简单的形式中,使用Gradle创建可执行JAR只是向清单添加适当条目的问题。但是,在类路径上包含需要包含依赖项的情况要多得多,这使得这种方法在实践中变得棘手。
应用程序插件提供了另一种方法;它不是创建可执行的JAR,而是提供:
run
installDist
distZip
以及创建包含完整应用程序分发的归档(启动脚本和 JAR)的任务distTar
第三种方法是创建一个所谓的“胖JAR”,它是一个可执行的JAR,不仅包括组件的代码,还包括其所有依赖项。有一些不同的插件使用这种方法。我已经包含了一些我所知道的链接;我相信还有更多。