Skip to content

[Bug] Thread 'pool-1-streamload-executor-1' produced an uncaught exception. If you want to fail on uncaught exceptions, then configure cluster.uncaught-exception-handling accordingly java.lang.NoClassDefFoundError: org/apache/http/xxx #602

@pikachu011

Description

@pikachu011

Search before asking

  • I had searched in the issues and found no similar issues.

Version

flink 1.20.1

What's Wrong?

在Flink上运行任务,每次报错的据图内容都不同,但都是
2025-06-11 18:56:40,895 ERROR org.apache.flink.runtime.util.ClusterUncaughtExceptionHandler [] - WARNING: Thread 'pool-1-streamload-executor-1' produced an uncaught exception. If you want to fail on uncaught exceptions, then configure cluster.uncaught-exception-handling accordingly
java.lang.NoClassDefFoundError: org/apache/http/xxx. 非常确定的是我的jar包不缺少那些类,但就是报错

What You Expected?

I look forward to running my code normally

How to Reproduce?

pom :

4.0.0

org.example
stream-demo
1.0-SNAPSHOT

1.20.1 2.12 1.20_2.12-1.4.0 1.8 1.7.36 1.2.12 org.apache.flink flink-java ${flink.version}
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-clients</artifactId>
  <version>${flink.version}</version>
  <!-- 本地调试时移除 scope,生产环境可恢复为 provided -->
</dependency>


<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-connector-base</artifactId>
  <version>${flink.version}</version>
  <!-- 本地调试时移除 scope,生产环境可恢复为 provided -->
</dependency>

<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-runtime-web</artifactId>
  <version>${flink.version}</version>
</dependency>


<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-streaming-java</artifactId>
  <version>${flink.version}</version>
  <!-- 排除冲突的日志绑定 -->
  <exclusions>
    <exclusion>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
    </exclusion>
    <exclusion>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<!-- Flink Table Common,用于 Catalog 等 -->
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-table-common</artifactId>
  <version>${flink.version}</version>
</dependency>
<!-- Table API -->
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-table-api-java</artifactId>
  <version>${flink.version}</version>
</dependency>
<!-- JDBC 连接器 -->
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-connector-jdbc</artifactId>
  <version>3.3.0-1.20</version>
</dependency>

<!-- MySQL 驱动 -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.28</version>
</dependency>
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-sql-connector-mysql-cdc</artifactId>
  <version>3.3.0</version>
</dependency>



<!-- Doris连接器 -->
<dependency>
  <groupId>org.apache.doris</groupId>
  <artifactId>flink-doris-connector-1.20</artifactId>
  <version>24.0.1</version>  <!-- 官方兼容版本 -->
  <exclusions>
    <!-- 排除传递冲突的Planner模块 -->
    <exclusion>
      <groupId>org.apache.flink</groupId>
      <artifactId>*</artifactId>
    </exclusion>
    <!-- 排除冲突的Scala库 -->
    <exclusion>
      <groupId>org.scala-lang</groupId>
      <artifactId>*</artifactId>
    </exclusion>
  </exclusions>
</dependency>

<!-- 你的其它依赖 -->
<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
  <version>4.5.14</version>
</dependency>
<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpcore</artifactId>
  <version>4.4.16</version>
</dependency>

<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-table-api-java-bridge</artifactId>
  <version>${flink.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-table-planner-loader</artifactId>
  <version>${flink.version}</version>
  <exclusions>
    <exclusion>
      <groupId>*</groupId> <!-- 暴力排除所有传递依赖 -->
      <artifactId>*</artifactId>
    </exclusion>
  </exclusions>
</dependency>

<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-table-runtime</artifactId>
  <version>${flink.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-json</artifactId> <!-- 解决JSON解析问题 -->
  <version>${flink.version}</version>
</dependency>


<!-- - 统一日志实现:SLF4J + Logback -->
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>${slf4j.version}</version>
</dependency>
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>${logback.version}</version>
</dependency>
org.apache.maven.plugins maven-compiler-plugin 3.8.1 ${java.version} ${java.version} org.apache.maven.plugins maven-shade-plugin 3.3.0 package shade false *:* META-INF/*.SF META-INF/*.DSA META-INF/*.RSA
            <!-- 关键:合并所有SPI服务文件 -->
            <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
              <mainClass>com.example.DorisAggregationJob</mainClass>
            </transformer>

          </transformers>
        </configuration>
      </execution>
    </executions>
  </plugin>
</plugins>

Anything Else?

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions