我使用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"')
}
}
答案 0 :(得分:23)
在Gradle 1.7中添加了对JVM参数的支持:https://docs.gradle.org/current/userguide/application_plugin.html#configureApplicationDefaultJvmArgs
答案 1 :(得分:10)
目前没有特别支持设置DEFAULT_JVM_OPTS
。但是,您可以执行以下操作:
startScripts {
doLast {
unixScript.text = unixScript.text.replace('DEFAULT_JVM_OPTS=""', 'DEFAULT_JVM_OPTS="-Dfile.encoding=utf-8"')
}
}
您可能希望为windowsScript
执行类似操作。