为什么Flink需要JDK 11来编译源代码,而它的源/目标是1. 8?

yvt65v4c  于 2023-03-06  发布在  Apache
关注(0)|答案(1)|浏览(732)

我注意到Flink Doc显示:
Flink至少需要Java 11才能构建。
另一方面,pom.xml指定源/目标为1.8:

<target.java.version>1.8</target.java.version>
...
    <source>${target.java.version}</source>
    <target>${target.java.version}</target>
...

我的问题是:为什么Flink需要比pom规范更高的JDK?

更新

我试着用Java 8从我的计算机上的源代码构建Flink,并且成功了!"* Flink至少需要Java 11才能构建. *"的语句实际上没有意义,除了更高的JDK可能会在构建时带来更好的性能(但我还没有验证这一点)。
java -version是OpenJDK 64位服务器虚拟机Corretto-8.342.07.1(内部版本号25.342-b07,混合模式)。

eit6fx6z

eit6fx6z1#

在实际的代码需求之前,有意更改了文档,以确保新的开发人员从Java 11开始,因为“很快”就需要更改。
来源:Flink ticket上的这条注解将pom.xml中的默认值更改为Java 11,通过导航从the commit that changed the text in the docs链接到的ticket找到:
Flink使用Java8构建的功能在Java8支持被弃用后被隐藏在文档中,因此新的开发人员从一开始就开始使用Java11进行开发。

相关问题