我在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版本。