ぺんぎんらぼ

お笑いとマンガ好きなしょぼしょぼWeb系エンジニアの日記です。たまに絵を描きます。

お笑いとマンガ好きなしょぼしょぼWeb系エンジニアの日記です

GradleのバージョンごとのJavaバージョン指定方法

build.gradleにJavaのバージョンを指定できますが、使用するGradleのバージョンによって書き方が変わります。

Gradle 4~7系

sourceCompatibility = '1.8'   // または '11', '17' etc.
targetCompatibility = '1.8'

文字列またはJavaVersion型(例: JavaVersion.VERSION_1_8)でも可。
build.gradleのトップレベル(ルート)に記述します。

Gradle 8系

java {
    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17
}

javaブロック内でJavaVersion型で指定するのが主流です。
旧方式(トップレベルのsourceCompatibility = '17')も一部で使えますが、警告が出る場合あります。

Gradle 9系(2024年以降)

java {
    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17
}

トップレベルでの文字列指定は非推奨・エラーになる場合が増えています。
必ずJavaVersion.VERSION_XXで指定します。
javaブロック外での直接指定はエラーになることが多いです。