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ブロック外での直接指定はエラーになることが多いです。