我一直在使用annox在我的jaxb生成的类上添加注释(通过绑定文件),但我找不到直接在包(package-info.java)上添加注释的方法。 / p>
我一直在尝试在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
不会出现在那里。
还有其他办法吗?
答案 0 :(得分:3)
作者在这里。
目前不支持此功能,但可以轻松实现。 请在此处提出问题:https://github.com/highsource/annox/issues
这样做的方法是使用@target="package"
。因此,您必须自定义此包中的内容(类,无论如何),并将target
属性设置为package
。然后,注释将转到package-info.java
。
<强>更新强>
这是在JAXB2 Annotate Plugin 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>