13

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

我需要一些 jvm 参数,例如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 "

如果未设置参数,我的控制台将无法很好地显示消息:

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"')
    }
}
4

2 回答 2

26

Gradle 1.7 中添加了对 JVM 参数的支持:https ://docs.gradle.org/current/userguide/application_plugin.html#configureApplicationDefaultJvmArgs

例如,对于设置file.encoding,您可以执行以下操作:

applicationDefaultJvmArgs = ['-Dfile.encoding=utf-8']
于 2013-10-28T22:46:39.483 回答
10

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

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

您可能想要为windowsScript.

于 2012-10-14T04:47:56.833 回答