You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Gradle针对不同分发版生成定制化启动脚本?

针对不同Gradle分发版配置独立启动脚本模板

在Gradle 7.2中,每个distribution会自动生成对应的CreateStartScripts任务,命名规则为create[DistributionName]StartScripts(分发版名称首字母大写)。你可以直接针对这些任务单独配置模板,替代原来全局的tasks.withType配置:

// 针对distroA配置专属启动脚本模板
tasks.named('createDistroAStartScripts', CreateStartScripts) {
    def tplName = 'unixStartScriptTemplate-distroA.txt'
    assert project.file(tplName).exists()
    unixStartScriptGenerator.template = resources.text.fromFile(tplName)
}

// 针对distroB配置专属启动脚本模板
tasks.named('createDistroBStartScripts', CreateStartScripts) {
    def tplName = 'unixStartScriptTemplate-distroB.txt'
    assert project.file(tplName).exists()
    unixStartScriptGenerator.template = resources.text.fromFile(tplName)
}

distributions {
    distroA {
        // 你的distroA配置
    }
    distroB {
        // 你的distroB配置
    }
}

关键说明

  • 确保你的两个模板文件(比如unixStartScriptTemplate-distroA.txt和unixStartScriptTemplate-distroB.txt)存放在项目根目录下,或者根据实际路径调整project.file()的参数。
  • 执行分发任务(如./gradlew distroATar或./gradlew distroBZip)时,对应的启动脚本会使用各自的模板生成,打包进对应的.tar/.zip包中。
  • 如果需要配置Windows启动脚本模板,可以额外设置windowsStartScriptGenerator.template参数,逻辑和Unix模板一致。

内容的提问来源于stack exchange,提问作者hrfici

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:52:10