为啥从 JAXB 参考实现中删除了 AnnotationReader?
Posted
技术标签:
【中文标题】为啥从 JAXB 参考实现中删除了 AnnotationReader?【英文标题】:Why has AnnotationReader been removed from JAXB reference implementation?为什么从 JAXB 参考实现中删除了 AnnotationReader? 【发布时间】:2014-11-20 18:26:05 【问题描述】:com.sun.xml.bind.v2.model.annotation.AnnotationReader
类是 jaxb-impl 2.1.6 的一部分,但已在 2.1.7 中删除。有人知道为什么吗?
【问题讨论】:
【参考方案1】:JAXB 工件在2.2.11
中进行了重组,因此一些类在jaxb-runtime
和jaxb-core
之间移动。 AnnotationReader
不是唯一一个。主要原因是(可能)由于依赖结构需要重新排列一些类的 mavenisation。
不幸的是,旧工件 com.sun.xml.bind:*
的依赖结构有点错误,因此如果您在使用 jaxb-impl
之前还需要 jaxb-core
。如果这是您的问题,您应该转移到新的 org.glassfish.jaxb:*
工件,因为它们具有正确的结构。 org.glassfish.jaxb:jaxb-core
是 org.glassfish.jaxb:jaxb-runtime
的依赖项,它取代了旧的 org.glassfish.jaxb:jaxb-impl
。
另见:
Which artifacts should I use for JAXB RI in my Maven project?
【讨论】:
【参考方案2】:AnnotationReader
现在是jaxb-core
的一部分。
【讨论】:
以上是关于为啥从 JAXB 参考实现中删除了 AnnotationReader?的主要内容,如果未能解决你的问题,请参考以下文章
从 xml/json JAXB 中删除 xsi:type 信息?
即使在JAXB中从XmlAdapter返回null之后,也不会从XML中删除Tag