Flink 1.17.1+Java11环境下ClassNotFoundException问题求助
解决方案:Flink 1.17.1 中 org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList 类找不到问题
检查依赖配置
确保项目依赖包含适配Flink 1.17.1的shaded guava包。若用Maven,在pom.xml中添加:<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-shaded-guava</artifactId> <version>30.1.1-jre-17.0</version> <scope>provided</scope> <!-- 集群运行保持provided,本地调试可改为compile --> </dependency>排除冲突的Guava依赖
项目中第三方依赖可能引入非shaded版本Guava,引发类路径冲突。在pom.xml中对这类依赖添加排除:<dependency> <groupId>第三方依赖groupId</groupId> <artifactId>第三方依赖artifactId</artifactId> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> </exclusions> </dependency>确认打包配置
构建Fat Jar时,用Flink Maven插件确保打包过程包含shaded guava类:<build> <plugins> <plugin> <groupId>org.apache.flink</groupId> <artifactId>flink-maven-plugin</artifactId> <version>1.17.1</version> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin> </plugins> </build>检查集群运行环境
集群部署时,确认Flink安装目录的lib文件夹中存在flink-shaded-guava-30.1.1-jre-17.0.jar,缺失则从Flink安装包中复制该文件到lib目录。
内容的提问来源于stack exchange,提问作者samanth mahankali
相关产品推荐
相关产品推荐

