各位大佬,我测试的flink1.13.5+flink-connector-postgres-cdc2

各位大佬,我测试的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

大家有遇到吗?

展开
收起
雪哥哥 2022-11-14 22:19:54 519 分享 版权
阿里云 AI 助理回答

您好!根据您提供的问题和依赖配置,遇到的类找不到错误org.apache.flink.shaded.guava30.com.google.common.util.concurrent.ThreadFactoryBuilder可能是因为版本兼容性问题导致的。在Flink生态中,不同组件和库之间存在特定版本的依赖关系,不匹配的版本容易引发类路径冲突或缺失类的错误。

问题分析

  • 版本不一致:您使用的Flink版本为1.13.5,而flink-connector-postgres-cdc版本为2.3.0,可能存在版本间的兼容性问题。特别是您提到的flink-shaded-guava依赖版本为18.0-13.0,这与某些组件内部期望的Guava版本可能不一致,特别是当Flink CDC连接器内部使用了更高版本的Guava特性时。

解决方案

  1. 升级或降级依赖:尝试调整您的依赖版本以确保它们之间的兼容性。对于Flink 1.13.5,建议检查官方文档推荐的Flink CDC版本,并相应地调整flink-connector-postgres-cdc的版本。同时,确认flink-shaded-guava的版本是否与所选Flink及Flink CDC版本相匹配。通常,Flink发行版会自带或推荐特定版本的shaded Guava库,以避免此类冲突。

  2. 统一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版本)。

  3. 查看官方文档和发布说明:访问Flink及其连接器的官方文档和发布说明,确认是否有已知的版本兼容性问题以及推荐的解决方法。

注意事项

  • 在进行版本调整时,请务必参考官方文档和发行说明,确保所有依赖项之间的版本兼容性。
  • 实施更改后,彻底清理并重新构建项目,包括本地Maven缓存,以避免旧版本库的干扰。

希望以上建议能帮助您解决类找不到的问题。如果问题依旧,请提供更多详细信息,以便进一步分析。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理