JAXB提供程序Ec​​lipselink MOXy忽略@XmlAccessorType(XmlAccessType.NONE)

时间:2011-01-18 17:00:49

标签: jaxb eclipselink moxy

我在@XmlAccessorType(XmlAccessType.NONE)中使用package-info.java作为my.package,这意味着JAXB应该只关注带注释的元素。但是,当我使用un / marshalling代码运行我的JUnit测试时,简单的POJO MOXy会以这种方式尖叫每个类(甚至来自没有jaxb.properties的包或依赖项中引用的其他maven模块):

Exception Description: The class other.maven.module.package.class requires a zero argument constructor or a specified factory method.  Note that non-static inner classes do not have zero argument constructors and are not supported.

我没有遇到Metro这样的问题(参考实现,但是我的使用还有其他缺陷),不幸的是我真的不能用这种方式修改每个类。

1 个答案:

答案 0 :(得分:2)

我已经能够验证此问题,已输入以下错误来跟踪此问题。

问题摘要:

对于以下对象模型:

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;

@XmlAccessorType(XmlAccessType.NONE)
public class Foo {

    private Bar bar;

    public Bar getBar() {
        return bar;
    }

    public void setBar(Bar bar) {
        this.bar = bar;
    }

}

public class Bar {

    public Bar(String name) {
    }

}

EclipseLink MOXy JAXB实现正在处理Bar类,尽管它不应该,因为它没有映射。