我有以下情况:
有2个xsd文件.第一个定义了一个根元素,以及几种类型.
第二个包括第一个,并扩展其中一个类型.那里
没有在此文件中定义的根类型.
从第一个xsd开始,在包(a)中生成模型.
第二个模式应为附加模块创建一个新包(b)
类型,但重用生成的包a.我用一个来解决这个问题
绑定文件,指向先前生成的元素(in
包a).
到目前为止,这是有效的,但..
JAXB在包A中生成一个ObjectFactory,它包含一个create
根元素的方法.
对于第二个模式,还在包B中创建了ObjectFactory.
此类还具有相同根元素的create方法.
为了能够使用所有类型,使用创建jaxb上下文
多个对象工厂(newInstance(a.ObjectFactory.class,b.ObjectFactory.class)).
在运行时,会导致以下错误:
com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 2
counts of IllegalAnnotationExceptions
The element name {http://www.example.org/Scenario/}scenario has more
than one mapping
我应该以不同的方式生成包吗?或者有什么东西
可能使用绑定文件来阻止对象工厂
有重复的方法?