Jaxb从xsd:s生成类,其中包含常见的包含失败

时间:2015-06-03 06:19:20

标签: java xsd jaxb

我试图从一堆xsd:s生成类,这些类都包含相同的公共模式,简化后看起来像这样:

Schema1.xsd:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="namespace">
<xsd:include schemaLocation="common.xsd"/>
.....
</xsd:schema>

Schema2.xsd:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="namespace">
<xsd:include schemaLocation="common.xsd"/>
.....
</xsd:schema>

并且公共模式未定义targetNamespace

现在,当我尝试使用:

生成我的类时
xjc -extension -episode episode.xjb -p se.test -encoding UTF-8 -mark-generated Schema1.xsd Schema2.xsd

我收到错误说:两个声明导致ObjectFactory类中的冲突

哪个指向公共架构中的相同行号。有没有办法解决这个问题。如果我省略package参数一切正常,但我想指定我自己的包。

1 个答案:

答案 0 :(得分:0)

所以问题实际上是其中一个XSD(我有60个,所以我没有详细查看每个......)缺少它的命名空间。

要联系XSD供应商并要求他们解决。