java - 命名空间之间的 jaxB 冲突

标签 java binding namespaces jaxb

我在生成 jaxB 类时发生了一些对象冲突,我知道我可以做一些事情,例如使用自定义绑定(bind)文件来解决冲突,但是,这种冲突发生在使用不同 namespace 的单独文件中具有相同名称的两个元素之间。它们具有不同的命名空间这一事实还不够吗?

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

最佳答案

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

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

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

关于java - 命名空间之间的 jaxB 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13639242/

相关文章:

forms - Spring MVC 表单 :checkbox not working

java - 使用 spring 4.3 和 JRebel 在 tomcat8 中部署 Java 应用程序时出现异常

java - 在 fragment 中单击按钮时 SetOnClickListener 不起作用

asp.net-mvc - Kendo UI Treeview 绑定(bind)

namespaces - Chromecast 发送消息返回无效参数错误

python - Boost Python - 全局和本地字典

namespaces - AutoMapper 中 .ForSourceMember 方法的命名空间

java - Native.loadLibrary 中的选项

java - 为什么要使用 multipart/form-data 而不是 application/octet-stream?

wpf - 如何在列表框中显示 ObserveableCollection<T>