Flink Cluster 常见问题之:用户应用和框架 JAR 包版本冲突问题怎么解决?

Flink Cluster 常见问题之:用户应用和框架 JAR 包版本冲突问题怎么解决?

展开
收起
Lee_tianbai 2020-12-30 13:28:10 1707 分享 版权
1 条回答
写回答
取消 提交回答
  • 该问题通常会抛出 NoSuchMethodError/ClassNotFoundException/IncompatibleClassChangeError 等异常,要解决此类问题: 1. 首先需要根据异常类定位依赖库,然后可以在项目中执行 mvn dependency:tree 以树形结构展示全部依赖链,再从中定位冲突的依赖库,也可 以增加参数 -Dincludes 指定要显示的包,格式为 [groupId]:[artifactId]:[- type]:[version],支持匹配,多个用逗号分隔,例如:mvn dependency:tree -Dincludes=power,javaassist; 2. 定位冲突包后就要考虑如何排包,简单的方案是用 exclusion 来排除掉其 从他依赖项目中传递过来的依赖,不过有的应用场景需要多版本共存,不同 组件依赖不同版本,就要考虑用 Maven Shade 插件来解决,详情请参考 Maven Shade Plugin。

    2020-12-30 13:28:29
    赞同 展开评论

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

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