命名空间之间的jaxB冲突

时间:2012-11-30 04:55:16

标签: java binding namespaces jaxb

我的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

1 个答案:

答案 0 :(得分:0)

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

我找到了3个选项来解决这个问题:

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