当前位置:  开发笔记 > 编程语言 > 正文

JAXB绑定自定义

如何解决《JAXB绑定自定义》经验,为你挑选了1个好方法。

在尝试从xsd生成类时,我遇到了这个错误:

java.lang.IllegalArgumentException: Illegal class inheritance loop.  Outer class OrderPropertyList may not subclass from inner class: OrderPropertyList

我的xsd定义了一个元素来组合一个无界元素,如下所示:

  
    
      
        
      
    
  

我的自定义绑定遵循此页面上的指定,但它不起作用.在这里我绑定:


    
        
    

我的目的是为orderPropertyList生成一个单独的类,而不是在xsd的根元素内生成内部类的默认行为.

我在这里和这里看到了有同样意图的人,但它对我来说不起作用.:(

JAXB版本:

Specification-Version: 2.1
Implementation-Version: 2.1.8

有帮助吗?



1> 小智..:

我相信你需要做的是:


这将生成独立类而不是嵌套类.


    
            
    

是一个冗余绑定,因为orderPropertyList默认会映射到OrderPropertyList.包的名称包括默认嵌套的外部类名,因此您不会更改它.

此外,如果您确实想要更改生成的类的名称,我认为XPath实际上是:


最后使用complexType.我认为排除这是导致您收到错误消息的原因.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有