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

获得“两个类具有相同的XML类型名称…”之类的JAXB异常。

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

获得“两个类具有相同的XML类型名称…”之类的JAXB异常。

注意: 我是 Eclipselink
JAXB(MOXy)的
负责人,并且是
JAXB(JSR-222) 专家组的成员。

如果您可以注释课程

如果可以修改类,则可以简单地

@XmlType
向其中一个
City
类添加注释,以更改相应的XML模式类型名称。

package **com.common**;@XmlType(name="city2")public class City {    private String pinCode;}

如果您无法注释课程

MOXy提供了一个外部映射文档扩展,可用于将JAXB元数据应用于无法更改的类。

<?xml version="1.0"?><xml-bindings    xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"    package-name="**com.common**">    <java-types>        <java-type name="City"> <xml-type name="city2"/>        </java-type>    </java-types></xml-bindings>

想要查询更多的信息

  • http://blog.bdoughan.com/2010/12/extending-jaxb-representing-annotations.html

更新

1)我们只需要为一个城市类编写绑定文件,或者需要编写其他所有两个类(我的意思是地址和另一个城市)?

MOXy的外部映射文档可用于增强或完全替换类上的元数据(请参阅:http : //blog.bdoughan.com/2011/09/mapping-
objects-to-multiple-xml-
schemas.html)。如果您只需要对其中一个

City
类进行更改,则无需包含其他类。

2)在绑定文件中,您仅考虑了类名,而不需要采用City中定义的属性(我的意思是pinCode)?

像任何JAXB实现一样,MOXy将默认映射应用于所有类。您只需要为希望映射行为与默认行为不同的地方提供元数据。

  • http://blog.bdoughan.com/2012/07/jaxb-no-annotations-required.html

3)我们需要为此选择MOXy吗?

JAXB没有标准的外部映射文档。我描述的是一个MOXy扩展。如果您使用的是JAXB RI,则可以检查与Annox的集成。

  • http://confluence.highsource.org/display/ANX/JAXB+User+Guide


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

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

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