> 技术文档 > Flink各版本和JDK版本对应关系(Flink Java compatibility)_flink jdk版本

Flink各版本和JDK版本对应关系(Flink Java compatibility)_flink jdk版本



flink1.18:Java compatibility
官方docs:https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/cli/#submitting-pyflink-jobs

Java 8 (deprecated) :
Support for Java 8 has been deprecated in 1.15.0. It is recommended to migrate to Java 11.

Java 11:
Support for Java 11 was added in 1.10.0 and is the recommended Java version to run Flink on.
This is the default version for docker images.

Java 17:Experimental support for Java 17 was added in 1.18.0.

总结:默认jdk为jdk11(含docker镜像),jdk8从1.15已经被弃用,jdk17刚实验性加入还不够成熟;
-----------------------------------------------------------------------------------------------------------------------------

flink1.19:Java compatibility
官方docs:https://nightlies.apache.org/flink/flink-docs-release-1.19/docs/deployment/cli/#submitting-pyflink-jobs

Java 8 (deprecated) :
Support for Java 8 has been deprecated in 1.15.0. It is recommended to migrate to Java 11.

Java 11:
Support for Java 11 was added in 1.10.0 and is the recommended Java version to run Flink on.
This is the default version for docker images.

Java 17:
Experimental support for Java 17 was added in 1.18.0.
In Flink 1.19, we added support for Java Records.

总结:默认jdk为jdk11(含docker镜像),jdk8从1.15已经被弃用,jdk17刚实验性加入还不够成熟;
-----------------------------------------------------------------------------------------------------------------------------

flink1.20:Java compatibility
官方docs:https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/deployment/java_compatibility/

Java 8 (deprecated) :
Support for Java 8 has been deprecated in 1.15.0. It is recommended to migrate to Java 11.

Java 11:
Support for Java 11 was added in 1.10.0 and is the recommended Java version to run Flink on.
This is the default version for docker images.

Java 17:
Experimental support for Java 17 was added in 1.18.0.(1.18测试验证:https://issues.apache.org/jira/browse/FLINK-15736)
In Flink 1.19, we added support for Java Records.(1.19测试验证:https://issues.apache.org/jira/browse/FLINK-32380)

总结:默认jdk为jdk11(含docker镜像),jdk8从1.15已经被弃用,jdk17刚实验性加入还不够成熟;
-----------------------------------------------------------------------------------------------------------------------------

flink2.0.0:Java compatibility
官方docs:https://nightlies.apache.org/flink/flink-docs-release-2.0/docs/deployment/java_compatibility/

Java 11:
Support for Java 11 was added in 1.10.0.

Java 17:
We use Java 17 by default in Flink 2.0.0 and is the recommended Java version to run Flink on. This is the default version for docker images.

Java 21:
Experimental support for Java 21 was added in 2.0.0.

总结:jdk默认版本为jdk17,支持jdk11,jdk21正在实验性验证;
-----------------------------------------------------------------------------------------------------------------------------