You need to enable JavaScript to run this app. Quarkus 2.1.1.Final运行mvnw test出现FastThreadLocal类未找到异常
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus 2.1.1.Final运行mvnw test出现FastThreadLocal类未找到异常

问题根因

该异常由项目依赖冲突导致:Quarkus 2.1.1.Final 底层依赖Netty组件,而pom中引入的第三方依赖(如svnkit、poi等)间接引入了版本不兼容的Netty包,或者将Netty核心依赖netty-common(FastThreadLocal类属于该包)的传递依赖排除,最终导致测试运行时类加载失败。

解决方案

步骤1:锁定Netty版本

在pom的dependencyManagement节点下,于已有的quarkus-bom配置之后新增Netty版本锁定配置,避免第三方依赖覆盖Quarkus配套的Netty版本:

<dependencyManagement>
  <dependencies>
    <!-- 原有quarkus-bom配置保留,下方新增Netty版本锁定 -->
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-bom</artifactId>
      <version>4.1.65.Final</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

步骤2:显式引入缺失的核心依赖

若锁版本后问题仍存在,直接在<dependencies>节点下主动引入netty-common依赖:

<dependency>
  <groupId>io.netty</groupId>
  <artifactId>netty-common</artifactId>
  <!-- 无需指定版本,已通过上方netty-bom统一锁定 -->
</dependency>

步骤3:清理缓存重新执行测试

运行以下命令清理本地构建缓存后再执行测试:
./mvnw clean test

可选冲突排查方案

如果以上操作未解决问题,可执行./mvnw dependency:tree命令检索所有Netty相关依赖,定位到引入非4.1.65.Final版本Netty的第三方依赖,通过<exclusions>标签排除其自带的Netty传递依赖即可,参考示例:

<dependency>
  <groupId>org.tmatesoft.svnkit</groupId>
  <artifactId>svnkit</artifactId>
  <version>1.10.3</version>
  <exclusions>
    <exclusion>
      <groupId>io.netty</groupId>
      <artifactId>*</artifactId>
    </exclusion>
  </exclusions>
</dependency>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 01:36:02