Компиляция для более низкого уровня Java, чем разрешено Javac с помощью Gradle - PullRequest
0 голосов
/ 18 февраля 2019

Я пинаю шины на 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 (примерно через год) я больше не смогу компилировать до Java 8, которая, вероятно, все еще будет очень популярной версией исполнения.

Я полагаю, что Maven может обойти эту проблему с помощью toolchains , но Gradle предлагает что-нибудь подобное?

EDIT: Я также заметил JEP 182 , который еще не утвержден, но если утвержден, это означает, что поддерживаются только версии N-3.

...