繁体   English   中英

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

[英]get jvm argument in the app when running gradle task

我正在使用gradle application插件运行我的main类。 当我这样做的时候

gradle run -Dparameter=5

并尝试在我的main功能中获取该参数parameter

public static void main(String[] args) {
    System.getProperty("parameter")
}

返回null

如何正确传递jvm参数?

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

您可以改用-P (项目属性)选项,但是随后您将需要在gradle脚本中获取属性值并强制设置系统属性:

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

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

章52.应用程序插件

例如,您可以添加

applicationDefaultJvmArgs=["-Dparameter=5"]

build.gradle中

暂无
暂无

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

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