У меня есть куча аннотированных классов 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 все работает нормально, но я должен был отобразить все отображаемые поля. Что мне не хватает?