ext {
springVersion = "3.1.0.RELEASE"
emailNotification = "[email protected]"
}
上記のコードはbuild.gradleのスニペットです
ext メソッドを { } クロージャパラメータで呼び出すのは理解しています。正しいですか? つまり、Gradle は springVersion と emailNotification にアクセスしていると思います。以下のコードで私の仮定を検証します。
def ext(data) {
println data.springVersion
}
ext {
springVersion = "3.1.0.RELEASE"
emailNotification = "[email protected]"
}
ただし、以下のコードを実行するとエラーが発生しました。
groovy.lang.MissingPropertyException: No such property: springVersion for class: Test
extとコードブロックについて具体的に説明していただけますか?
ベストアンサー1
ext
は の省略形でありproject.ext
、定義するために使用されます。追加のプロパティオブジェクトの ですproject
。(他の多くのオブジェクトに追加のプロパティを定義することもできます。) 追加のプロパティを読み取るときは、 をext.
省略します (例:println project.springVersion
またはprintln springVersion
)。メソッド内でも同じことが言えます。 という名前のメソッドを宣言しても意味がありませんext
。