栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JAXB ClassNotFoundException使用Java 11构建Spring Boot App 2.2.0

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAXB ClassNotFoundException使用Java 11构建Spring Boot App 2.2.0

从Java 9开始,JAXB实现已被删除。因此,您添加的只是API,还需要添加实现。可能有几种选择。

作为修复,您可以添加-例如,我猜还有其他实现-这种依赖关系:

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

这是一个很好的解释。

为什么将其删除(摘自上面的链接):

Java的标准库并不十分小巧轻便。在过去20多年的过程中,已经添加了许多功能,主要是因为当时人们认为,如果Java支持现成的特定技术将是一个好主意。

其中之一是对基于XML的Web服务的支持。当Java SE
6在2006年12月发布时,基于XML的Web服务开始流行,因此Java语言的开发人员认为,如果Java支持将Web服务作为标准功能来支持,那将是一个好主意。决定将必要的API(最初作为Java
EE的一部分开发)添加到Java SE。其中包括JAX-WS(基于XML的Web服务的Java API)和JAXB。

随着当今微服务的趋势,重要的是Java运行时环境必须小巧轻便,因此拥有一个内置的对每种可能技术的支持的大型运行时库已不再具有优势。

因此,在JEP-320中提出了从JDK中删除Java EE和CORBA模块的建议。

关于MOXy的注意事项: 您可能还需要添加

jaxp.properties
包含以下内容的行:

javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory

摆脱问题:

javax.xml.bind.JAXBException:在模块路径或类路径上未找到JAXB-API的实现。-

从Orby添加了漂亮的注释打印版本,其中包含Sun实现的依赖项:

<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-impl</artifactId>    <version>2.3.1</version></dependency><dependency>    <groupId>com.sun.xml.bind</groupId>    <artifactId>jaxb-core</artifactId>    <version>2.3.0</version></dependency>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647733.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号