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

JDK11迁移至JDK17:SOAP类XMLGregorianCalendar的Jakarta替代方案咨询

JDK11迁移到JDK17:XMLGregorianCalendar的依赖与导入问题解决方案
  • 首先明确:XMLGregorianCalendar并未迁移到Jakarta命名空间,它属于Java SE自带的java.xml模块,JDK17中依然保留原包路径javax.xml.datatype.XMLGregorianCalendar,所以你可以直接保留原导入语句,无需修改。

  • 你需要确保项目引入了正确的Jakarta JAXB依赖(因为原JAXB的javax包已迁移为jakarta),以Maven为例,添加以下依赖:

<!-- Jakarta JAXB API -->
<dependency>
    <groupId>jakarta.xml.bind</groupId>
    <artifactId>jakarta.xml.bind-api</artifactId>
    <version>4.0.0</version>
</dependency>
<!-- JAXB运行时实现 -->
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>4.0.2</version>
    <scope>runtime</scope>
</dependency>
  • 若你的项目使用Java模块化(含module-info.java),需在模块声明中添加依赖:
module your.module.name {
    // 依赖Java SE的xml模块以使用XMLGregorianCalendar
    requires java.xml;
    // 依赖Jakarta JAXB模块
    requires jakarta.xml.bind;
}

总结:你的修改后代码中最后一行导入import javax.xml.datatype.XMLGregorianCalendar;是完全正确的,无需替换,只需确保上述Jakarta JAXB依赖配置到位即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 12:23:12