【发布时间】:2019-05-03 10:57:19
【问题描述】:
我有 2 个具有相同名称的 .xsd 格式的类。 即使它们中的每一个都在不同的命名空间下:
当我尝试初始化 JAXBContext 时,我得到: 两个类具有相同的 XML 类型名称“图片”。使用@XmlType.name 和@XmlType.namespace 为它们分配不同的名称。 信息:在 java 11 上运行并使用 xjc 生成类。 这以前在 java 8 上工作
<xs:schema targetNamespace="http://test.com/bla/blabla/blablabla/sd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="picture">
<xs:schema targetNamespace="http://test.com/bla/blabla/blablabla/hd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="picture">
两个生成的类都如下所示:
@XmlRootElement(name = "picutre") 公共类图片{}
我初始化 JAXBContext:
private static JAXBContext initializeJaxbContext() {
JAXBContext jaxbctx = JAXBContext.newInstance(com.test.bla.blabla.blablabla.hd.Picture.class,com.test.bla.blabla.blablabla.sd.Picture.class);
为什么会出现这个错误? 两个类具有相同的 XML 类型名称。使用 @XmlType.name 和 @XmlType.namespace 为它们分配不同的名称 有人可以帮忙吗?
【问题讨论】: