【问题标题】:Jaxb generate classes from xsd:s with common include failsJaxb 从 xsd:s 生成类,常见包含失败
【发布时间】:2015-06-03 06:19:19
【问题描述】:

我正在尝试从一堆 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>

并且通用模式没有定义目标命名空间

现在当我尝试使用以下方法生成我的类时:

xjc -extension -episode episode.xjb -p se.test -encoding UTF-8 -mark-generated Schema1.xsd Schema2.xsd

我收到一条错误消息:两个声明导致 ObjectFactory 类中的冲突

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

【问题讨论】:

  • 你可以为你的 XSD 使用不同的目标命名空间吗?
  • 不,我无法更改 XSD

标签: java xsd jaxb


【解决方案1】:

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

将联系 XSD 的供应商并要求他们修复它。

【讨论】:

    猜你喜欢
    • 2010-09-27
    • 2013-05-12
    • 1970-01-01
    • 2012-01-08
    • 2012-11-16
    • 2012-07-12
    • 1970-01-01
    • 2022-07-22
    • 2013-10-17
    相关资源
    最近更新 更多