在应用程序插件中调整 Gradle startScripts

Guy*_*afe 4 java gradle

我将 Gradle 与应用程序插件一起使用。
我正在尝试调整startScripts任务。我觉得调优不需要太多改动,所以我想改一下标准任务:

  • 完整的发行版包括它自己的 JRE,所以我希望脚本引用该库而不是使用 JAVA_HOME
  • 如果可能,请删除 UNIX 启动脚本。我只需要 Windows 脚本。

如果可能的话,我更喜欢了解任务中的哪些变量要更改,而不是从头开始重写任务。我的问题是如何做到这一点。查看文档,我看到仅用于applicationName, classpath, defaultJvmOpts, exitEnvironmentVar, mainClassName, optsEnvironmentVar, 的访问器outputDir,这些对我来说都无关紧要。您能指导我查看描述如何执行此操作的文档吗?

Sta*_*lav 5

要删除 UNIX 脚本,您可以将startScripts任务配置为:

startScripts {
    doLast {
        delete unixScript
    }
}
Run Code Online (Sandbox Code Playgroud)

至于剧本的内容,真的不知道,是否有可能做的自定义脚本生成器,它可以在被用来startScripts作为WindowsStartScriptGenerator。但是无论如何,您都可以在 中修改启动脚本的内容doLast,只需将其称为windowsScript.text

startScripts {
    doLast {
        windowsScript.text = windowsScript.text.replace("set JAVA_EXE=%JAVA_HOME%/bin/java.exe",
                "set JAVA_EXE=../relative/path/to/java/bin/java.exe")
    }
}
Run Code Online (Sandbox Code Playgroud)