我有以下情况:
有2个xsd文件.第一个定义了一个根元素,以及几种类型.
第二个包括第一个,并扩展其中一个类型.此文件中没有定义根类型.
从第一个xsd开始,在包(a)中生成模型.第二个模式应为其他类型创建一个新包(b),但重用生成的包a.我通过使用指向先前生成的元素的绑定文件(在包a中)解决了这个问题.到目前为止,这是有效的,但..
JAXB在包A中生成一个ObjectFactory,它包含根元素的create方法.对于第二个模式,还在包B中创建了ObjectFactory.此类还具有相同根元素的create方法.
为了能够使用所有类型,使用多个对象工厂(newInstance(a.ObjectFactory.class, b.ObjectFactory.class))创建jaxb上下文.
在运行时,会导致以下错误:
com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:IllegalAnnotationExceptions的2个计数元素名称{http://www.example.org/Scenario/}scenario有多个映射
我应该以不同的方式生成包吗?或者是否有可能使用绑定文件来防止对象工厂有重复的方法?
| 归档时间: |
|
| 查看次数: |
7883 次 |
| 最近记录: |