Apache Flink + java 17 + Spring Boot 3.1.0

问题描述 投票:0回答:2

我升级了我的 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 spring-boot maven apache-flink flink-streaming
2个回答
1
投票

目前还没有发布支持 Java 17 的 Flink 版本。即将推出的 Flink 1.18 将是第一个支持 Java 17 的版本,请参阅 https://issues.apache.org/jira/browse/FLINK-15736


0
投票

目前flink仅支持java 8和11,尚未发布支持Java 17及以上版本的Flink版本。

© www.soinside.com 2019 - 2024. All rights reserved.