私は Java 12 でタイヤを蹴っていますがjavac
、最小ターゲット Java レベルで 1.7 に引き上げられていることに気付きました。
Execution failed for task ':com.foo:compileJava'.
> error: release version 6 not supported
なぜ Java 6 にコンパイルしたいのですか?
私のコードベースには最低 Java レベル 1.7 が必要ですが、カーネルを古い Java レベルでコンパイルして、JVM を起動し、Java 7+ を使用する必要があることを示す適切なエラー メッセージを出力できるようにしたいと考えています。不可解な互換性のないクラス バージョン エラー。
先を見据えて...
Java 6 はそれほど大きな懸念事項ではありませんが、私の主な懸念事項は、Java が N-5 リリースのみをサポートする場合、Java 14 (今から約 1 年後) までに Java 8 にコンパイルできなくなることです。依然として非常に人気のあるランタイム バージョンです。
Maven はtoolchainを使用してこの種の問題を回避できると思いますが、Gradle は同様のものを提供していますか?
編集:まだ承認されていないJEP 182にも気付きましたが、承認された場合は N-3 リリースのみがサポートされることを意味します。