java - 尝试使用 JAXB 时是否可以使用很少的对象工厂?

标签 java maven jaxb

我有两组生成的java类(每组都有相应的ObjectFactory),我想将它们合并到一组中以同时使用。

是否可以在 JAXB 中使用两个 ObjectFactory(两个标记为 @XmlRegistry 的类)?

类是由

生成的

maven-jaxb2-plugin(版本0.8.3)

JDK:1.6.0_43

提前致谢!

最佳答案

使用两个 ObjectFactory

是的,您可以使用多个ObjectFactory类。在您的代码中,您需要对至少一个引用进行打包。用 @XmlRegistry 注解的类不需要称为 ObjectFactory,但 JAXB 从 XML 架构生成的类始终是。

JAXB 可以合并 ObjectFactory

不可以,原因如下:

  1. 它引入了可能的方法名称冲突,JAXB 必须为此提供冲突解决机制。
  2. 当在一个或多个包名称上创建 JAXBContext 时,它会在该包中查找 ObjectFactory 类以从中派生元数据。减少 ObjectFactory 类的数量会打破这一点。
  3. 最终它不会让您的代码变得更简单。

你能手动合并它们吗

是的。您只需要注意,如果您通过包名称创建 JAXBContext,您的 ObjectFactory 就会被选取。

关于java - 尝试使用 JAXB 时是否可以使用很少的对象工厂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674778/

相关文章:

java - 获取路径/文件名的路径,但文件没有扩展名

java - 高流量 XML 解析

java - okHttpClient 响应给出垃圾值

java - 使用 Mongo 3 Java 驱动程序更新双数组

java - Fillo 依赖项不适用于 Maven 项目

java - 如何加载相对于类包的文件?

java - 在 JAX-WS 中编码多态对象

java - RESTful Java Web 服务中的 POST 方法问题

java - 如何删除大的 if-else-if 链

java - Eclipse 中的 Maven 编译器警告和错误