我试图从一堆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参数一切正常,但我想指定我自己的包。
答案 0 :(得分:0)
所以问题实际上是其中一个XSD(我有60个,所以我没有详细查看每个......)缺少它的命名空间。
要联系XSD供应商并要求他们解决。