我有两组生成的java类(每组都有相应的ObjectFactory),我想将它们合并到一组中以同时使用。
是否可以在 JAXB 中使用两个 ObjectFactory(两个标记为 @XmlRegistry 的类)?
类是由
生成的maven-jaxb2-plugin(版本0.8.3)
JDK:1.6.0_43
提前致谢!
最佳答案
使用两个 ObjectFactory
类
是的,您可以使用多个ObjectFactory
类。在您的代码中,您需要对至少一个引用进行打包。用 @XmlRegistry
注解的类不需要称为 ObjectFactory
,但 JAXB 从 XML 架构生成的类始终是。
JAXB 可以合并 ObjectFactory
类
不可以,原因如下:
- 它引入了可能的方法名称冲突,JAXB 必须为此提供冲突解决机制。
- 当在一个或多个包名称上创建
JAXBContext
时,它会在该包中查找ObjectFactory
类以从中派生元数据。减少ObjectFactory
类的数量会打破这一点。 - 最终它不会让您的代码变得更简单。
你能手动合并它们吗
是的。您只需要注意,如果您通过包名称创建 JAXBContext
,您的 ObjectFactory
就会被选取。
关于java - 尝试使用 JAXB 时是否可以使用很少的对象工厂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674778/