web-dev-qa-db-ja.com

build.gradleでGradleプロパティを使用する方法

このタスクを実行すると:

task tmpTask << {
    project.properties.each {println "   $it"}
}

そうですか:

org.gradle.Java.home=/usr/lib/jvm/Java-6-Oracle

しかし、この変数の使い方は?私は両方を試しました:

task tmpTask << {
    println org.gradle.Java.home
    println project.properties.org.gradle.Java.home
}

しかし、これはどれも機能しません。最初の印刷でエラーが発生する:

Could not find property 'org' on task ':tmpTask'.

2番目が失敗する間:

Cannot get property 'gradle' on null object
23
user1723095

project.propertiesMap<String, ?>

だからあなたは使うことができます

project.properties['org.gradle.Java.home']

property() メソッドを使用することもできます(ただし、追加の場所を検索します)。

project.property('org.gradle.Java.home')
30
JB Nizet

他の人の利益のために。定義するプロパティがドットで区切られていない場合は、直接参照できます。

あなたのgradle.properties

myProperty=This is my direct property
my.property=This is my dotted property with\t\t tabs \n and newlines

あなたのbuild.gradle

// this works
println myProperty
println project.property('my.property')

// this will not
println my.property
11
al.

gradle.propertiesから

プロップをファイルに追加しますgradle.properties

hi1=hi

CommandLineから

コマンドラインの最後に-Pxxxを追加します。

./gradlew -q readPropertiesTask -Phi2=tete

いくつかのプロパティ:

./gradlew -q readPropertiesTask -Phi2=tete -Phi3=rr

読み方?

val propFromFile = project.properties["hi1"]
println("propFromFile = $propFromFile")
0
linkaipeng