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

JDK10下Jhipster v5.0.0-beta.1项目Maven构建缺失jaxb-api依赖报错

解决Jhipster v5.0.0-beta.1 + JDK 10构建时的JAXB缺失问题

这个错误的核心原因很明确:从JDK 9开始,Java EE相关的模块(包括JAXB)被移出了JDK核心库,而JHipster v5.0.0-beta.1的默认配置还依赖这些模块,所以在JDK 10下编译时会找不到javax.xml.bind.JAXBException类。

下面是具体的修复步骤:

步骤1:添加JAXB相关依赖到pom.xml

在你的项目pom.xml的<dependencies>节点中加入以下依赖,手动引入JAXB所需的类:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0.1</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.1</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>

这些依赖会补全JDK 10中缺失的JAXB相关类,解决NoClassDefFoundError问题。

步骤2:确保Maven编译插件支持JDK 10

检查你的maven-compiler-plugin配置,确保它的版本足够新(至少3.8.0及以上),并且正确指定JDK版本:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <source>10</source>
        <target>10</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

旧版本的maven-compiler-plugin(比如你当前用的3.7.0)对JDK 10的支持不够完善,升级到3.8.x版本可以避免一些编译兼容性问题。

步骤3:重新执行构建

添加依赖并更新插件配置后,运行以下命令重新构建项目:

mvn clean install

这样应该就能顺利完成JDK 10下的项目构建了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:32:31