我正在尝试在我的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>
我是不是漏掉了什么?如何在存根中的getDetailsForm()上添加@Deprecated?
发布于 2015-02-02 16:36:48
语法实际上是looks correct。可能是bug,请在此项目中通过PR提交问题并提供测试用例:
我来付。
顺便说一句,您的定制与您的XSD:someForms与approvalForms不匹配。这也可能是一个问题--你可能找错了类。
免责声明:我是作者。
https://stackoverflow.com/questions/28271702
复制相似问题