开发者社区> 问答> 正文

Flink报错NoSuchMethodError/NoClassDefFoundError/包...

已解决

Flink报错NoSuchMethodError/NoClassDefFoundError/包冲突异常

展开
收起
提个问题 2024-06-01 18:03:39 71 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答

    【报错原因】

    这类问题一般是由于Flink程序中依赖的包冲突引起的,需要细心的检查哪些包冲突,可以利用mvn dependency:tree命令查看依赖树,找出冲突的包,然后分析修改。

    【解决方案】

    为了避免JAR包依赖冲突,需要注意以下几点:

    • 作业开发页面选择的Flink版本,请在Pom文件中使用相同版本的Apache Flink依赖库。如何查看Flink版本,详情请参见如何查看当前作业的Flink版本

    • Flink相关依赖,scope请使用provided,即在依赖中添加provided。Flink相关依赖主要包括org.apache.flink组下以flink-开头的,非Connector的依赖。例如flink-streaming-java、flink-streaming-java_2.11和flink-java,flink-runtime等。

    • 其他第三方依赖请采用Shade方式打包,Shade打包详情请参见Apache Maven Shade Plugin

    • Flink源代码中只有明确标注了@Public或者@PublicEvolving的才是公开供用户调用的方法,阿里云只对这些方法的兼容性做出产品保证。详情点击参考文档。

    2024-06-01 18:03:41
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载