【发布时间】:2023-03-25 17:20:01
【问题描述】:
我们已经编写了自己的 AccessorFactory 来将我们的 POJO 序列化为 XML,因此我们创建了 package-info.java 并在该文件中添加了注解 @XmlAccessorFactory。
@XmlAccessorFactory(MeiAccessorFactory.class)
package com.meicpg.ti.domain;
我们所有的POJO都用@XmlAccessorType(XmlAccessType.NONE)注解,并且我们已经用@XmlElement注解了所有必须序列化的字段
大多数时候序列化运行良好,但有时在开发人员的机器上(在生产中我们没有这个问题,而在 Unix 上工作的开发人员)POJO 没有序列化。
我尝试使用@XmlAccessorFactory 注释其中一个 POJO,并且它已被正确序列化。在另一个 POJO 上,我在 getter 上移动了 @XmlElement 注释,它也已正确序列化。
在我的所有 POJO 上应用此解决方案之一之前,我想知道是否有人已经遇到过这种奇怪的行为,并找到了忽略 package-info.java 中的注释的原因。
谢谢。
【问题讨论】:
-
@XmlAccessorFactory是一个有点晦涩难懂的 JAXB RI 扩展,您有需要这样做的特定用例吗? -
感谢您的回答。我尝试在 package-info.java 中添加其他注释(例如 @XmlAccessorType(XmlAccessType.NONE),因为我们在每个 POJO 中都使用它),并且似乎 package-info 中的所有注释都被忽略了。有什么想法吗?
-
我添加了一个应该有帮助的答案:stackoverflow.com/questions/21314322/…
标签: java xml jaxb xml-serialization