use*_*095 19 groovy java-home gradle
当我运行此任务时:
task tmpTask << {
project.properties.each {println " $it"}
}
Run Code Online (Sandbox Code Playgroud)
我知道了:
org.gradle.java.home=/usr/lib/jvm/java-6-oracle
Run Code Online (Sandbox Code Playgroud)
但是如何使用这个变量呢?我试过了两个:
task tmpTask << {
println org.gradle.java.home
println project.properties.org.gradle.java.home
}
Run Code Online (Sandbox Code Playgroud)
但这一切都不起作用.首次打印出错:
Could not find property 'org' on task ':tmpTask'.
Run Code Online (Sandbox Code Playgroud)
而第二个失败的是:
Cannot get property 'gradle' on null object
Run Code Online (Sandbox Code Playgroud)
JB *_*zet 25
project.properties 是一个 Map<String, ?>
所以你可以使用
project.properties['org.gradle.java.home']
Run Code Online (Sandbox Code Playgroud)
您还可以使用property()方法(但在其他位置查找):
project.property('org.gradle.java.home')
Run Code Online (Sandbox Code Playgroud)
小智 11
gradle.properties将道具添加到文件中gradle.properties
hi1=hi\nRun Code Online (Sandbox Code Playgroud)\n添加-Pxxx命令行结尾。
./gradlew -q readPropertiesTask -Phi2=tete\nRun Code Online (Sandbox Code Playgroud)\n\xef\xbc\x9a 的几个属性
\n./gradlew -q readPropertiesTask -Phi2=tete -Phi3=rr\nRun Code Online (Sandbox Code Playgroud)\nval propFromFile = project.properties["hi1"]\nprintln("propFromFile = $propFromFile")\nRun Code Online (Sandbox Code Playgroud)\n
为了其他人的利益。如果您定义的属性不是点分隔的,则可以直接直接引用它。
在您的gradle.properties:
myProperty=This is my direct property
my.property=This is my dotted property with\t\t tabs \n and newlines
Run Code Online (Sandbox Code Playgroud)
在您的build.gradle:
// this works
println myProperty
println project.property('my.property')
// this will not
println my.property
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19305 次 |
| 最近记录: |