如何将默认的jvm args设置为gradle应用程序插件?

时间:2012-10-14 04:12:15

标签: gradle

我使用gradle应用程序插件生成应用程序文件夹。 installApp任务为我提供了一个启动脚本,但我不知道如何从build.gradle设置jvm args。

我需要的一些jvm args,例如file.encoding。我只是修改了启动脚本来设置DEFAULT_JVM_OPTS变量

#!/usr/bin/env bash

##############################################################################
##
##  MuzeeS3Deployer start up script for UN*X
##
##############################################################################

# Add default JVM options here. You can also use JAVA_OPTS and MUZEE_S_DEPLOYER_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=" -Dfile.encoding=utf-8 "

如果args未设置,我的控制台无法正常显示消息:

qty:MuzeeS3Deployer qrtt1$ ./build/install/MuzeeS3Deployer/bin/MuzeeS3Deployer d
2012/10/14 #U###12:02:03 SyncCommand main
ĵ#i: no aws credentials found at /Users/qrtt1/AwsCredentials.properties

设置编码时:

qty:MuzeeS3Deployer qrtt1$ ./build/install/MuzeeS3Deployer/bin/MuzeeS3Deployer d
2012/10/14 下午 12:04:19 SyncCommand main
警告: no aws credentials found at /Users/qrtt1/AwsCredentials.properties

我从@Peter得到了解决方案。最后,我对脚本进行了一些小改动:

startScripts {
    doLast {
        unixScript.text = unixScript.text.replace('DEFAULT_JVM_OPTS=""', 'DEFAULT_JVM_OPTS="-Dfile.encoding=utf-8"')
        windowsScript.text = windowsScript.text.replace('DEFAULT_JVM_OPTS=', 'DEFAULT_JVM_OPTS="-Dfile.encoding=utf-8"')
    }
}

2 个答案:

答案 0 :(得分:23)

答案 1 :(得分:10)

目前没有特别支持设置DEFAULT_JVM_OPTS。但是,您可以执行以下操作:

startScripts {
    doLast {
        unixScript.text = unixScript.text.replace('DEFAULT_JVM_OPTS=""', 'DEFAULT_JVM_OPTS="-Dfile.encoding=utf-8"')
    }
}

您可能希望为windowsScript执行类似操作。