我使用的是flink 1.17.1和java版本11。
我遇到以下错误
引起:java.lang.ClassNotFoundException:org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList
需要上述问题的解决方案,请告诉我
对于
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 版本等)