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

Quarkus+Java11上传Azure Blob Storage触发Netty HttpVersion类初始化错误

问题诱因

该报错由Netty版本冲突导致:Quarkus底层HTTP栈基于Vert.x实现,自带固定版本的Netty依赖,你引入的azure-storage-blob Azure SDK默认携带的Netty版本与Quarkus内置Netty版本不兼容,两个版本的io.netty.handler.codec.http.HttpVersion类静态初始化逻辑、类结构存在差异,类加载时初始化失败最终触发NoClassDefFoundError。

排查解决思路
  • 首先执行mvn dependency:tree命令,检索所有netty相关依赖,确认是否存在多个不同版本的netty-core、netty-codec-http等包被引入。
  • 排除Azure SDK中的Netty传递依赖,强制使用Quarkus内置的Netty版本,参考POM配置:
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
    <!-- 排除所有Azure SDK自带的Netty依赖 -->
    <exclusions>
        <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>*</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  • 最优方案是替换为Quarkus官方提供的Azure Storage Blob扩展,该扩展已经预做了依赖版本兼容适配,无需自行处理版本冲突问题。
  • 排查是否存在自定义类加载配置,避免配置了优先加载外部Netty包的规则,导致加载到不兼容版本。
  • 完成调整后重启项目,执行上传逻辑验证是否恢复正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:15:04