获取java.lang.NoClassDefFoundError:org/apache/flink/shaded/guava30/com/google/common/collect/ImmutableList

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

我使用的是flink 1.17.1和java版本11。

我遇到以下错误

引起:java.lang.ClassNotFoundException:org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList

需要上述问题的解决方案,请告诉我

apache-flink flink-streaming
1个回答
0
投票

对于

ClassNotFoundException
错误,这几乎肯定是一个问题,即在部署作业之前,您给定的 Flink 应用程序在打包(例如编译成 jar/shaded jar)时没有编译一个或多个预期的依赖项。由于它们没有打包在应用程序中,因此当您的代码引用这些类时,您将在运行时遇到这些错误。

如果您使用 Maven,您需要确保您有适当的包(在本例中为 Flink Shaded Guava 包)作为 POM 文件中的已编译依赖项:

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-shaded-guava</artifactId>
    <version>${flink-shaded-guava-version}</version>
    <scope>compile</scope>
</dependency>

显然,如果您使用 Gradle 之类的东西,语法会有所不同。可能值得检查所有项目依赖项并确保跨包和版本的兼容性(例如您的 Apache Flink 版本等)

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