使用Gradle编译为比Javac允许的Java级别低的级别

时间:2019-02-18 17:21:55

标签: java gradle java-12

我在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是否提供类似的功能?

编辑:我还注意到JEP 182,它尚未被批准,但是如果批准将意味着仅支持N-3版本。

0 个答案:

没有答案