Проблема с аннотацией 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, Это также может быть проблемой - вы можете искать в неправильном классе.

Отказ от ответственности: я автор.

Другие вопросы по тегам