JAXB忽略package-info.java中的@XmlAccessorFactory

时间:2014-01-23 16:46:05

标签: java xml jaxb xml-serialization

我们编写了自己的AccessorFactory来序列化我们的XML POJO,因此我们创建了package-info.java并在此文件中添加了注释@XmlAccessorFactory。

@XmlAccessorFactory(MeiAccessorFactory.class)
package com.meicpg.ti.domain;

我们所有的POJO都注明了@XmlAccessorType(XmlAccessType.NONE),我们注释了所有必须用@XmlElement序列化的字段

大多数情况下序列化运行良好,但有时在开发人员的机器上(在生产中我们没有这个问题,而且在Unix上工作的开发人员)POJO没有被序列化。 / p>

我试图使用@XmlAccessorFactory注释其中一个POJO,并且已经正确序列化了。在另一个POJO上,我在getter上移动了@XmlElement注释,它也被正确序列化了。

在我的所有POJO上应用此解决方案之前,我想知道是否有人已经遇到这种奇怪的行为,并找到了为什么忽略package-info.java中的注释。

感谢。

1 个答案:

答案 0 :(得分:0)

  

我试图在package-info.java中添加其他注释(比如   @XmlAccessorType(XmlAccessType.NONE),因为我们在每个POJO中使用它,   并且似乎忽略了package-info中的所有注释。任何   想法?

如果忽略package-info中的注释,请确保以下内容:

  1. 您的包注释在名为package-info.java
  2. 的文件中定义
  3. 您的package-info.java源文件正在编译为package-info.class
  4. package-info注释仅适用于该包中的类。您不会在其他包中看到它们的影响类,因此您可能需要其他package-info类。