Flink Cluster 常见问题之:用户应用和框架 JAR 包版本冲突问题怎么解决?
该问题通常会抛出 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。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。