У меня есть несколько аннотированных классов JAXB, у которых есть общее поле,поэтому я переместил это поле в суперкласс, как это
public class Base {
protected SomeType commonField;
}
@XmlRootElement(name = "foo") @XmlType(propOrder = { "commonField", "fooField" })
public class Foo extends Base {
private SomeOtherType fooField;
}
@XmlRootElement(name = "bar") @XmlType(propOrder = { "commonField", "barField" })
public class Bar extends Base {
private SomeOtherType barField;
}
Теперь, когда я маршаллирую один из Foo
или Bar
, я получаю IllegalAnnotationException
с жалобой на ] commonField
указан в propOrder
, но отсутствует в классе. Удалив его из аннотации propOrder
, все работает нормально, но я думал, что должен был перечислить все отображаемые поля. Что мне не хватает?