抽象类中的XmlRootElement注释 - 可能吗?

时间:2011-11-07 12:56:00

标签: java jaxb jaxb2

这就是我要做的事情:

@XmlRootElement(name = "bar")
@XmlAccessorType(XmlAccessType.NONE)
public abstract class Bar {
}

public final class Foo extends Bar {
    @XmlElement
    public String getMsg() {
        return "hello, world!";
    }
}

现在我正在尝试编组一个类Foo的实例:

com.sun.istack.SAXException2: unable to marshal type "Foo" as 
an element because it is missing an @XmlRootElement annotation

什么是变通方法?

1 个答案:

答案 0 :(得分:2)

如果没有超类的@XmlRootElement注释,你能逃脱吗?相反,你应该把它放在你的每个子类上。 JAX-B仍然会知道超类字段。