我将Gradle与Application插件一起使用。
我正在尝试调整startScripts任务。我认为调优不需要大量更改,因此我想更改标准任务:

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

  • 如果可能的话,我更喜欢了解任务中要更改的变量,而不是从头开始重写任务。
    我的问题是怎么做。在查看文档时,我只看到applicationNameclasspathdefaultJvmOptsexitEnvironmentVarmainClassNameoptsEnvironmentVaroutputDir的访问器,这些访问器对我来说都无关紧要。
    您能指导我介绍如何执行此操作的文档吗?

    最佳答案

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

    startScripts {
        doLast {
            delete unixScript
        }
    }
    

    至于脚本的内容,还不确定是否可以使用custom script generator,它可以在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")
        }
    }
    

    09-11 18:59