繁体   English   中英

将 $ 字符传递给 Gradle 启动脚本(应用程序插件)

[英]Pass $ character to Gradle start scripts (Application plugin)

我有一个使用 Application 插件的 Gradle 构建脚本,我想将包含$字符的字符串作为 JVM 参数传递,但我不能,因为它总是被转换为\\$字符序列......

这是我的配置:

application {
    mainClass = 'example.Main'
    application.applicationDefaultJvmArgs = ['-javaagent:$APP_HOME/lib/agent.jar']
}

但随后在启动脚本中我得到:

DEFAULT_JVM_OPTS='"-javaagent:\$APP_HOME/lib/agent.jar"'

正因为如此\\它不起作用,我需要将值设为-javaagent:$APP_HOME/lib/agent.jar 我尝试过的所有方法都得到相同的结果(使用插值,将 $ 作为\$等传递)。

我在这个答案中找到了一个相关问题的解决方法。 有问题的代码如下:

startScripts {
    doLast {
        unixScript.text = unixScript.text.replace('\\$APP_HOME', '\$APP_HOME') 
        //do something like this for Windows scripts if needed too
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM