【发布时间】:2019-06-27 01:09:16
【问题描述】:
存在 maven enforcer plugin 可以强制构建仅在特定 JDK 版本上运行。
我想知道是否有任何实际的理由可以做到这一点? 我们已经构建配置来指定源和目标版本。据我了解,这应该绰绰有余,因为Java是向后兼容的。例如它在 gradle 中的外观:
compileJava {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
这就是它在 maven 中的样子:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
如果您发现任何需要确切 jdk 版本的理由 - 请您也将其写下来。
UPD。 问题更多是关于使用 JDK 8、9、10 或 11 编译版本 8 的 java 源/目标项目是否有任何实际区别......
【问题讨论】:
-
例如,我不能用 JDK 7 编译 JDK 8 流。