首页 > 解决方案 > 从 gradle 项目中生成可执行文件

问题描述

我有一个 gradle 项目,它检查 java 代码并从中制作类图。我有一个单行 shell 脚本,它使用命令行参数运行 gradle,用于源文件的位置和图像的输出名称。

如果有人下载了我的项目,他们可以通过./myprogram.sh arg1 arg2在命令行输入来运行 shell 脚本。

我希望有人能够下载我的项目并通过键入在命令行上运行它myprogram arg1 arg2

如何通过 gradle 项目来做到这一点?

标签: javagradleexecutable

解决方案


您应该查看 Gradle 的Distribution Plugin。它允许您创建程序的分发,这是一个包含 JAR 文件和 init 脚本的 ZIP 文件,当添加到系统中时PATH,您可以按照需要运行程序。Gradle 文档非常详尽。要点是确保你的plugins块中有这个:

plugins {
    id 'java'
    id 'application'
}

假设您的主类已使用 Gradle 正确配置:

application {
    mainClassName = 'your.main.Class'
}

您可以运行gradle distZip以生成分发(它将在distributions/您的构建目录的文件夹中)。然后,您的用户可以将其提取到他们选择的位置并将bin/目录添加到他们的系统中PATH。要自定义命令的名称:

startScripts {
    applicationName = 'myprogram'
}

推荐阅读