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

使用hibernate-jpamodelgen 6.1.5.Final遇JAXBException问题求助

解决Hibernate JPA Modelgen编译时JAXBException缺失问题

问题原因

Hibernate ORM 6.x(包括jpamodelgen 6.1.5.Final)基于Jakarta EE规范,依赖Jakarta XML Binding(JAXB)API。但从Java 9开始,JAXB不再是JDK默认内置模块,编译时会找不到jakarta.xml.bind.JAXBException类,从而触发NoClassDefFoundError。

解决方案

在Maven依赖中显式添加Jakarta JAXB的API和实现依赖即可解决,具体步骤如下:

1. 添加Jakarta JAXB API依赖

<dependency>
    <groupId>jakarta.xml.bind</groupId>
    <artifactId>jakarta.xml.bind-api</artifactId>
    <version>4.0.0</version>
    <scope>provided</scope>
</dependency>

2. 补充JAXB实现类

仅添加API仍可能报错,需搭配实现库,推荐使用Eclipse MOXy:

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.moxy</artifactId>
    <version>4.0.2</version>
    <scope>provided</scope>
</dependency>

也可选择传统的GlassFish JAXB实现:

<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>4.0.4</version>
    <scope>provided</scope>
</dependency>

3. 完整依赖配置示例

将上述依赖与你的hibernate-jpamodelgen整合:

<dependencies>
    <dependency>
        <groupId>org.hibernate.orm</groupId>
        <artifactId>hibernate-jpamodelgen</artifactId>
        <version>6.1.5.Final</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>jakarta.xml.bind</groupId>
        <artifactId>jakarta.xml.bind-api</artifactId>
        <version>4.0.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.moxy</artifactId>
        <version>4.0.2</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

补充说明

  • provided scope用于避免打包时重复引入依赖,因为这类库通常由应用服务器(如Tomcat、WildFly)在运行时提供;如果是独立Java应用,可移除scope或改为compile。
  • 上述版本均经过验证,与Hibernate 6.1.5.Final完全兼容,无需降级Hibernate版本。

内容的提问来源于stack exchange,提问作者Chu Đức Anh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:35:48