运行gradle任务时在应用程序中获取jvm参数

时间:2017-02-08 12:46:16

标签: java gradle

我正在使用gradle application插件来运行我的main课程。 当我喜欢这个时

gradle run -Dparameter=5

并尝试在我的parameter函数

中获取该参数main
public static void main(String[] args) {
    System.getProperty("parameter")
}

返回null

如何正确传递jvm参数?

2 个答案:

答案 0 :(得分:3)

gradle -D选项设置 Gradle进程本身的系统属性,而不是您要运行的任务的系统属性。

您可以使用-P(项目属性)选项,但是您需要在gradle脚本中获取属性值并按位置设置系统属性:

if (project.hasProperty('myPropertyNameHere'))
    systemProperty('myPropertyNameHere', myPropertyNameHere)

答案 1 :(得分:2)

  

如果您的应用程序需要一组特定的JVM设置或系统属性,则可以配置applicationDefaultJvmArgs属性。这些JVM参数应用于运行任务,并在生成的分发的启动脚本中进行考虑。

Chapter 52. The Application Plugin

e.g。     你可以添加

applicationDefaultJvmArgs=["-Dparameter=5"]
build.gradle

中的