共通のフィールドを持つ 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