Gradleファイル内のextとコードブロックの意味 質問する

Gradleファイル内のextとコードブロックの意味 質問する
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

おすすめ記事