您的位置:首页 > 其它

Gradle传给虚拟机的参数

2016-10-31 11:15 134 查看
Gradle传给虚拟机的参数通过-D命令最可靠,例如
gradlew -Dparam.key1=value1

使用ext, -P或systemProp传递属性,经测试,均不能有效传递到虚拟机。

----------------------------------------------------------------------------

参考:

在项目根目录下建立名为gradle.properties文件,在该文件中定义需要的属性。这些属性在Gradle构建Gradle领域对象(即project对象实例)时会被自动加到project对象实例中作为其属性被直接调用。





定义在build.gradle中的ext块中。ext准确的说是Gradle领域对象的一个属性,我们可以将自定义的属性添加到ext对象上,Build.gradle中的其它代码片段可以使用。



从上述可以看到ext对象其实是DefaultExtraPropertiesExtension对象的一个实例。

在命令行中通过-D或者-P给Gradle实时创建属性。 -D属性会被传送给启动Gradle的jvm,作为一个系统属性被jvm使用。



-P属性则会被直接加载到Gradle领域对象上。



在Gradle配置文件中创建系统属性。刚讲过在gradle.properties文件可以创建属性,同时我们也可以创建系统属性。如果有systemProp.前缀的属性会被识别为系统属性。



将特殊前缀的系统属性或环境变量自动加入到Gradle领域对象中。

如果有环境变量以ORG_GRADLE_PROJECT.为前缀,那么该变量会被自动添加到Gradle领域对象中。同样,如果有系统属性以org.gradle.project.为前缀,那么也会被自动加入到Gradl领域对象中。这一特性的目的之一是为了隐藏一些敏感的信息。比如在执行Gradle脚本时需要传入密码信息,如果以-P的方式传送会被别人看到。而把该属性保存为环境变量,只有系统管理员才有权访问和修改。在运行Gralde的时候该环境变量会被自动加入到Gradle对象中被使用,隔离了明暗数据,又不行影响其他用户使用。(其他用户可以通过-P方式是设置该属性)。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gradle jvm参数