You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java 11环境下Apache Flink启动报错的解决方法咨询

解决Apache Flink启动报错问题

错误分析

你遇到的报错包含两个关键问题:

  1. SLF4J日志绑定缺失:提示无法加载org.slf4j.impl.StaticLoggerBinder,程序会默认使用无操作的日志实现,这部分仅影响日志输出,不会直接导致程序崩溃。
  2. 核心依赖缺失:java.lang.NoClassDefFoundError: org/apache/commons/lang3/ClassUtils,这是程序崩溃的直接原因——Flink的ClosureCleaner类运行时需要该依赖类,但当前环境中找不到。

解决方案

1. 修复commons-lang3依赖缺失

在项目的pom.xml中添加commons-lang3的依赖:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <!-- 版本建议与你使用的Flink版本兼容,例如Flink 1.17.x适配3.12.0,可根据实际情况调整 -->
    <version>3.12.0</version>
    <scope>compile</scope>
</dependency>

2. 完善SLF4J日志绑定

你已添加logback-classic,但需确保SLF4J API依赖存在(部分场景下Flink会间接引入,若缺失可手动添加):

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>2.0.9</version> <!-- 与logback-classic 1.4.14兼容的版本 -->
    <scope>compile</scope>
</dependency>

如果是打包成独立运行的Jar包,需确保依赖被正确打包(可使用maven-shade-plugin整合依赖,避免运行时缺失)。

验证操作

  • 执行mvn clean install重新构建项目
  • 再次启动主方法,确认两个报错均消失

内容的提问来源于stack exchange,提问作者Jony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:00:13