各位大佬,我测试的flink1.13.5+flink-connector-postgres-cdc2.3.0 报错类找不到:org.apache.flink.shaded.guava30.com.google.common.util.concurrent.ThreadFactoryBuilder 我的pom中几个相关的依赖是这样的: com.ververica flink-connector-postgres-cdc 2.3.0 org.apache.flink flink-shaded-guava 18.0-13.0
大家有遇到吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您好!根据您提供的问题和依赖配置,遇到的类找不到错误org.apache.flink.shaded.guava30.com.google.common.util.concurrent.ThreadFactoryBuilder
可能是因为版本兼容性问题导致的。在Flink生态中,不同组件和库之间存在特定版本的依赖关系,不匹配的版本容易引发类路径冲突或缺失类的错误。
flink-shaded-guava
依赖版本为18.0-13.0,这与某些组件内部期望的Guava版本可能不一致,特别是当Flink CDC连接器内部使用了更高版本的Guava特性时。升级或降级依赖:尝试调整您的依赖版本以确保它们之间的兼容性。对于Flink 1.13.5,建议检查官方文档推荐的Flink CDC版本,并相应地调整flink-connector-postgres-cdc
的版本。同时,确认flink-shaded-guava
的版本是否与所选Flink及Flink CDC版本相匹配。通常,Flink发行版会自带或推荐特定版本的shaded Guava库,以避免此类冲突。
统一Guava版本:如果直接调整版本仍无法解决问题,考虑排除掉项目中其他间接引入Guava的依赖中的Guava版本,强制统一使用与Flink核心库兼容的Guava版本。在Maven中,可以使用<exclusions>
标签来排除不需要的依赖。
<dependency>
<groupId>com.ververica</groupId>
<artifactId>flink-connector-postgres-cdc</artifactId>
<version>2.3.0</version>
<!-- 如果该依赖间接引入了不兼容的Guava版本,这里可以尝试排除 -->
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
然后,显式声明一个与Flink兼容的flink-shaded-guava
版本(或标准Guava版本,如果Flink允许且没有提供shaded版本)。
查看官方文档和发布说明:访问Flink及其连接器的官方文档和发布说明,确认是否有已知的版本兼容性问题以及推荐的解决方法。
希望以上建议能帮助您解决类找不到的问题。如果问题依旧,请提供更多详细信息,以便进一步分析。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。