我升级了我的 spring boot 和 java 版本并运行我的 apache flink 应用程序,但它给了我这样的错误
无法将字段设置为 private static final int java.lang.Class.ANNOTATION 可访问:模块 java.base 不可访问 “打开 java.lang”到未命名模块@679b62af
我是 flink 新手,我能够运行应用程序并出现上述错误,这意味着 spring 应用程序能够运行 tomcat 服务器,但它无法运行 flink,因为它给了我上述错误
我用谷歌搜索知道apache flink是否支持java版本17,我正在寻找解决方案,该解决方案显示apache flink如何与Spring Boot父版本3.1.0一起使用java 17
这里我也分享一下pom.xml
4.0.0
<groupId>com.digipay</groupId>
<artifactId>fraud_detection</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>fraud_detection</name>
<description>Fraud Detection Docker</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-statebackend-rocksdb_2.11</artifactId>
<version>1.14.6</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java_2.11</artifactId>
<version>1.14.6</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-core</artifactId>
<version>1.17.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-kafka-0.11_2.11</artifactId>
<version>1.11.6</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>--add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED</argLine>
<argLine>--illegal-access=warn</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
目前还没有发布支持 Java 17 的 Flink 版本。即将推出的 Flink 1.18 将是第一个支持 Java 17 的版本,请参阅 https://issues.apache.org/jira/browse/FLINK-15736
目前flink仅支持java 8和11,尚未发布支持Java 17及以上版本的Flink版本。