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

Java 9/10迁移后docx4j报JAXBException问题求助

解决Java 9/10下docx4j报javax/xml/bind/JAXBException的问题

我之前在把docx4j的代码从Java 8迁到Java 11的时候也踩过这个坑!原因很简单:Java 9开始引入了模块化系统,JAXB(Java Architecture for XML Binding)相关的包不再默认包含在JDK中了,所以运行时会找不到javax.xml.bind.JAXBException这个类。你加了Moxy但没解决,大概率是没配全依赖或者没考虑模块化的问题,给你几个可行的解决步骤:

1. 先升级docx4j到兼容Java 9+的版本

旧版本的docx4j可能没适配Java 9的模块化机制,建议直接升级到docx4j 8.x及以上版本,这个版本开始对Java 9+的支持更完善,能减少不少兼容性问题。

2. 添加JAXB相关依赖(Maven/Gradle)

Java 9+需要手动引入JAXB的API和实现,分两种情况配置:

用默认JAXB实现

直接在pom.xml里添加以下依赖:

<!-- JAXB API 核心包 -->
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>
<!-- JAXB 具体实现 -->
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.1</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0.1</version>
</dependency>
<!-- JAXB依赖的Activation API -->
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>

用Moxy作为JAXB实现

如果你坚持用Moxy,就替换上面的jaxb-impl和jaxb-core为Moxy的依赖:

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.moxy</artifactId>
    <version>2.7.9</version>
</dependency>

3. 模块化项目额外配置(如果使用module-info.java)

如果你的项目是Java模块化项目,还需要在module-info.java里添加对JAXB相关模块的依赖:

module your.project.module {
    // 引入JAXB API模块
    requires javax.xml.bind;
    // 如果用Moxy,引入Moxy模块
    requires org.eclipse.persistence.moxy;
    // 引入Activation模块
    requires java.activation;
    // 引入docx4j的模块(根据你用的docx4j版本调整)
    requires org.docx4j;
}

4. 临时应急方案(不推荐长期使用)

如果只是想快速验证代码,也可以在IntelliJ IDEA的运行配置里添加VM参数,强制引入JAXB相关模块:

--add-modules java.xml.bind,java.activation

不过这个方案只是临时绕过问题,长期来看还是推荐用依赖的方式从根源解决。

按照这个步骤来,应该就能解决NoClassDefFoundError的问题了。我当时就是先升级了docx4j,再补全JAXB依赖就搞定了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:29:54