com.ypy.hrp.db.service.impl.InvPageClassServiceImpl:41 异常 java.util.concurrent.C...
错误信息
2026-08-11 11:28:41,309 ERROR com.ypy.hrp.db.service.impl.InvPageClassServiceImpl:41 异常
java.util.concurrent.CompletionException: javax.xml.bind.DataBindingException: javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
AI 解决方案
1. 🌐 错误翻译
原文:Implementation of JAXB-API has not been found on module path or classpath.
译文:在模块路径或类路径中未找到 JAXB-API 的实现。
2. 🎯 原因分析
根本原因:缺少 JAXB API 的实现依赖。JAXB 是 Java XML 绑定框架,从 Java 9 开始,JAXB 被从 JDK 标准模块中移除,需要单独添加依赖,否则运行时会抛出此类异常。
发生位置:异常出现在 InvPageClassServiceImpl 类的第 41 行,属于 XML 数据绑定操作环节,由于类路径未包含 JAXB 实现,导致无法完成 XML 与 Java 对象的转换。
3. 💡 解决方案
根据项目使用的构建工具,添加 JAXB 实现依赖:
📦 Maven 项目
在
pom.xml 中添加以下依赖:<!-- JAXB API -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<!-- JAXB 核心实现 -->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.1</version>
</dependency>
⚙️ Gradle 项目
在
build.gradle 中添加:implementation 'javax.xml.bind:jaxb-api:2.3.1'
implementation 'org.glassfish.jaxb:jaxb-runtime:2.3.1'
添加后重新构建项目并重启应用,确保依赖生效。
4. 🛡️ 预防措施
- 依赖版本管控:明确指定 JAXB 依赖版本,避免使用不兼容的版本,建议固定为
2.3.1等稳定版本。 - 兼容性检查:若项目运行在 Java 9 及以上版本,提前排查移除的 JDK 内置模块(如 JAXB、JAX-WS 等),按模块拆分需求补充依赖。
- 构建工具检查:使用 Maven 的
dependency:tree或 Gradle 的dependencies命令,验证 JAXB 相关依赖已正确引入,避免依赖冲突或缺失。