5

私は 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 リリースのみがサポートされることを意味します。

4

0 に答える 0