【问题标题】:jaxB conflict between namespaces命名空间之间的 jaxB 冲突
【发布时间】:2012-11-30 04:55:16
【问题描述】:

我在生成 jaxB 类时遇到了一些对象冲突,我知道我可以做一些事情,例如使用自定义绑定文件来解决冲突,但是,这种冲突发生在使用不同命名空间的单独文件中的两个同名元素之间。难道他们有不同的命名空间就足够了吗?

parsing a schema...
compiling a schema...
[ERROR] A class/interface with the same name "code.NameType" is already in use. Use a class customization to resolve this conflict.
  line 215 of file:/C:/Workspace/schemaGen/SchemaGen/src/schemas/Core.xsd

[ERROR] (Relevant to above error) another "NameType" is generated from here.
  line 47 of file:/C:/Workspace/schemaGen/SchemaGen/src/schemas/SearchCore.xsd

【问题讨论】:

  • 你能显示 XSD 的命名空间声明吗?

标签: java binding namespaces jaxb


【解决方案1】:

冲突不是命名空间的问题,而是 QName 生成的问题。这就是他们发生冲突的地方。

我发现有 3 个选项可以解决这个问题:

  1. 将 XSD 中的类重命名为其他名称以避免该问题。
  2. 创建绑定文件以在生成时重新映射类
  3. 自下而上生成类,制作剧集文件和 每次都指定一个新包,以便对象不会发生冲突 在同一个包中。

【讨论】:

    猜你喜欢
    • 2013-12-11
    • 2013-04-12
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 2013-01-26
    • 2010-11-15
    • 2012-12-18
    相关资源
    最近更新 更多