我一直在使用烦恼在我的jaxb生成的类上添加注释(通过绑定文件),但是我找不到一种方法直接在包(Pack-info.java)上添加注释。
我一直试图在我的bindings.xml中做这样的事情:
<jaxb:schemaBindings>
<jaxb:package name="my.package">
<annox:annotate>
<annox:annotate annox:class="my.Annotation" />
</annox:annotate>
</jaxb:package>
</jaxb:schemaBindings>但是jaxb抱怨说,annox:annotate不会出现在那里。
还有别的办法吗?
发布于 2014-08-22 07:09:47
作者在这里。
这目前还不被支持,但可以很容易地实现。请在这里提交一个问题:https://github.com/highsource/annox/issues
这样做的方法是使用@target="package"。因此,您必须自定义这个包中的某些内容(类,随便什么),并将target属性设置为package。然后,注释将转到package-info.java。
更新
这是在JAXB2注释插件1.0.0中实现的。
https://github.com/highsource/jaxb2-annotate-plugin/issues/1
<jaxb:bindings
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:annox="http://annox.dev.java.net"
jaxb:extensionBindingPrefixes="annox"
jaxb:version="2.1">
<jaxb:bindings schemaLocation="schema.xsd" node="/xsd:schema">
<jaxb:bindings node="xsd:complexType[@name='issueJIIB43Type']">
<annox:annotate target="class">@javax.xml.bind.annotation.XmlRootElement("someElement")</annox:annotate>
<annox:annotate target="package">@javax.xml.bind.annotation.XmlSchema(elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED)</annox:annotate>
<annox:annotatePackage>@javax.annotation.Generated({"XJC"})</annox:annotatePackage>
</jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>https://stackoverflow.com/questions/25184035
复制相似问题