如何生成JAXB生成的Java类的多个版本?

如何生成JAXB生成的Java类的多个版本?,java,xsd,jaxb,objectfactory,Java,Xsd,Jaxb,Objectfactory,我最近生成了两个由JAXB生成的Java类版本。所以我得到两个包裹: V1_0和V2_0 我注意到我只生成了一个ObjectFactory。问题是这个ObjectFactory特定于一个版本(这里它特定于我的版本v1\u 0) 所以问题是:我是否可以配置JAXB以允许为每个版本创建一个ObjectFactory 非常感谢。两个版本都有一个对象工厂?不,这是不可能的。您可以在两个包中获得两组类—不可能一个对象工厂同时为它们提供服务。如果API的两个版本位于同一名称空间中,那太可怕了!一轮生成中的对

我最近生成了两个由JAXB生成的Java类版本。所以我得到两个包裹: V1_0和V2_0

我注意到我只生成了一个ObjectFactory。问题是这个ObjectFactory特定于一个版本(这里它特定于我的版本v1\u 0)

所以问题是:我是否可以配置JAXB以允许为每个版本创建一个ObjectFactory


非常感谢。

两个版本都有一个对象工厂?不,这是不可能的。您可以在两个包中获得两组类—不可能一个对象工厂同时为它们提供服务。

如果API的两个版本位于同一名称空间中,那太可怕了!一轮生成中的对象工厂将覆盖另一轮生成的对象工厂(或禁止;我忘记了哪个
xjc
实际上是这样的)。这对于API的客户机来说也是可怕的,因为他们不知道他们正在处理的API的版本(除非你正在做其他讨厌的把戏,这应该被阻止;如果他们在同一个名称空间中,他们应该是同一个API)


修复方法是将这两个API放在不同的名称空间中,以便将它们生成到具有不同对象工厂的不同包中。(还要注意;的任何使用;这可能会导致内容进入同一名称空间,并给您带来这些覆盖难题。)

不,我指的是每个版本都有一个对象工厂。我希望JAXB在两个不同的包中生成两个对象工厂。因此,objectFactory仍然可以毫无问题地特定于V1_0或V2_0。非常感谢。我不确定我当时是否理解这个问题。XJC通常为每个包生成一个对象工厂。您如何准确地生成这两个版本?