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

Java8升级到11时JAX-B API未找到、WADL功能禁用警告如何解决

排查解决方案

Java 11 已经将JAXB、javax.activation等Java EE相关模块完全从默认JDK中移除,你当前遇到的告警是因为Jersey的WADL功能依赖的JAXB相关组件未完全加载,可按以下步骤排查:

1 补充缺失的依赖

当前你仅引入了jaxb-api和jaxb-runtime,还需要补充jaxb-core与javax.activation依赖,完整依赖配置如下:

<dependency>
   <groupId>javax.xml.bind</groupId>
   <artifactId>jaxb-api</artifactId>
   <version>2.3.1</version>
</dependency>
<dependency>
   <groupId>org.glassfish.jaxb</groupId>
   <artifactId>jaxb-runtime</artifactId>
   <version>2.3.3</version>
   <scope>runtime</scope>
</dependency>
<dependency>
   <groupId>org.glassfish.jaxb</groupId>
   <artifactId>jaxb-core</artifactId>
   <version>2.3.0.1</version>
</dependency>
<dependency>
   <groupId>com.sun.activation</groupId>
   <artifactId>javax.activation</artifactId>
   <version>1.2.0</version>
</dependency>

2 排查版本兼容问题

  • 确认你使用的Jersey版本不低于2.29,低于该版本的Jersey对Java 11的JAXB适配存在已知缺陷,会出现已引入依赖仍无法识别的问题,建议升级Jersey到2.29及以上版本
  • 执行mvn dependency:tree(Gradle项目执行gradle dependencies)排查项目中是否存在多个版本的JAXB相关依赖,如有冲突统一所有JAXB相关组件的版本即可

3 无需WADL功能可直接关闭告警

如果你的项目不需要使用WADL接口文档功能,可以直接关闭WADL特性彻底消除告警:
如果是通过ResourceConfig类配置Jersey,添加如下配置:

config.property("jersey.config.server.wadl.disableWadl", true);

如果是通过web.xml配置,添加如下参数:

<context-param>
    <param-name>jersey.config.server.wadl.disableWadl</param-name>
    <param-value>true</param-value>
</context-param>

内容的提问来源于stack exchange,提问作者Vignesh T I

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:45:03