Проблема с аннотацией XJC
Я пытаюсь добавить устаревшую аннотацию к моим заглушкам, сгенерированным xjb.
<jaxb:bindings schemaLocation="../../../../../server/target/schemas/schema2.xsd">
<jaxb:bindings node="xs:complexType[@name='someForms']/xs:all/xs:element[@name='detailsForm']">
<annox:annotate target="getter">@java.lang.Deprecated</annox:annotate>
</jaxb:bindings>
</jaxb:bindings>
Это не сбой, но не помещает атрибут xml в поле. Вот так выглядит xsd -
<xs:complexType name="approvalForms">
<xs:all>
<xs:element name="detailsForm" type="formRef" minOccurs="0"/>
</xs:all>
</xs:complexType>
Но следующие работы
<jaxb:bindings schemaLocation="../../../../../server/target/schemas/schema2.xsd">
<jaxb:bindings node="xs:complexType[@name='someForms']">
<annox:annotate>
<annox:annotate annox:class="org.codehaus.jackson.annotate.JsonTypeName"
value="SomeForm" />
</annox:annotate>
</jaxb:bindings>
Я что-то пропустил? Как я могу добавить @Deprecated на getDetailsForm() в заглушку?
1 ответ
Синтаксис на самом деле выглядит правильно. Возможно, это ошибка, пожалуйста, сообщите о проблеме и предоставьте тестовый пример через PR в этом проекте:
Я позабочусь об этом.
Кстати, ваши настройки не соответствуют вашему XSD: someForms
против approvalForms
, Это также может быть проблемой - вы можете искать в неправильном классе.
Отказ от ответственности: я автор.