有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JAXB xsd:包含和单独的包

我有以下情况:

有两个xsd文件。第一个定义了根元素和几种类型

第二个包括第一个,并扩展了其中一个类型。那里 此文件中未定义根类型

从第一个xsd开始,在包(a)中生成一个模型。 第二个模式应该为额外的应用程序创建一个新的包(b) 类型,但重用生成的包a。我通过使用 指向以前生成的元素的绑定文件(在 包装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

我应该以不同的方式生成包吗?还是有什么 可能使用绑定文件阻止对象工厂 有重复的方法吗


共 (0) 个答案