到目前为止,我通过 Eclipse 的“导出…”功能创建了可运行的 JAR 文件,但现在我切换到 IntelliJ IDEA 和 Gradle 以实现构建自动化。
这里的一些文章建议使用“应用程序”插件,但这并不完全导致我预期的结果(只是一个 JAR,没有启动脚本或类似的东西)。
我怎样才能获得与 Eclipse 使用“导出…”对话框相同的结果?
原文由 Hannes 发布,翻译遵循 CC BY-SA 4.0 许可协议
到目前为止,我通过 Eclipse 的“导出…”功能创建了可运行的 JAR 文件,但现在我切换到 IntelliJ IDEA 和 Gradle 以实现构建自动化。
这里的一些文章建议使用“应用程序”插件,但这并不完全导致我预期的结果(只是一个 JAR,没有启动脚本或类似的东西)。
我怎样才能获得与 Eclipse 使用“导出…”对话框相同的结果?
原文由 Hannes 发布,翻译遵循 CC BY-SA 4.0 许可协议
JB Nizet 和 Jorge_B 的回答都是正确的。
在最简单的形式中,使用 Gradle 创建可执行 JAR 只是将适当的条目添加到 manifest 的问题。但是,更常见的是需要将依赖项包含在类路径中,这使得这种方法在实践中变得棘手。
应用程序插件 提供了另一种方法;它不创建可执行 JAR,而是提供:
run
任务,以方便直接从构建中轻松运行应用程序installDist
任务,它生成一个目录结构,包括构建的 JAR、它依赖的所有 JAR,以及一个启动脚本,它将它们全部拉到一个你可以运行的程序中distZip
和 distTar
创建包含完整应用程序分发(启动脚本和 JAR)的存档的任务第三种方法是创建一个所谓的“胖 JAR”,它是一个可执行 JAR,其中不仅包含组件的代码,还包含其所有依赖项。有几个不同的插件使用这种方法。我已经包含了一些我知道的链接;我敢肯定还有更多。
原文由 davidmc24 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
可执行 jar 文件只是一个在其清单中包含 Main-Class 条目的 jar 文件。所以你只需要配置 jar 任务,以便在它的清单中添加这个条目:
您可能还需要在清单中添加类路径条目,但方法相同。
请参阅 http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html