XmlRootElement аннотация в абстрактном классе - возможно? - PullRequest
2 голосов
/ 07 ноября 2011

Вот что я пытаюсь сделать:

@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 Ответ

2 голосов
/ 07 ноября 2011

Можете ли вы уйти без аннотации @XmlRootElement в суперклассе.Вместо этого вы должны поместить его в каждый из ваших подклассов.JAX-B по-прежнему будет знать о полях суперкласса.

...