我正在使用
jaxb-maven-plugin
从 XSD 文件生成带有 XML 绑定的 Java 代码。虽然它通常工作得很好,但生成的 setter 和 getter 的 JavaDoc 缺少 xs:annotation /xs:documentation
中的文档。
我什至开始编写自己的 jaxb 插件;但即使在这样的插件中,我似乎也无法访问元素的注释。
有没有直接的方法来做到这一点?
org.jibx
的 jibx-maven-plugin
似乎是开箱即用的,但我希望能够使用 jaxb-maven-plugin 的扩展和更多最新的依赖项。
XSD 的示例摘录:
<xs:complexType name="Some_Type">
<xs:sequence>
<xs:element name="Some_Field" type="BoolType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Some documentation</xs:documentation>
</xs:annotation>
</xs:element>
</xs:complexType>
POM提取物:
<groupId>org.jvnet.jaxb</groupId>
<artifactId>jaxb-maven-plugin</artifactId>
<version>4.0.0</version>
我们目前正在开发 4.0.1 版本的
org.jvnet.jaxb:jaxb-maven-plugin
。
此版本包括对 4.0.4 jaxb-ri 的更新。
此 4.0.4 jaxb 版本包括对 issue #1708 的修复:从 xsd 文档标签添加 javadoc。
同时,如果您使用插件的简单情况,您可以尝试提供 jaxb-xjc 4.0.4 作为插件的依赖项,并进行以下更改:
addIfExistsToEpisodeSchemaBindings
应设置为 false(因为在 jaxb-ri 中也已修复(问题 #829)另一种可能的解决方案是使用 CXF 中的以下 xjc 插件以及
Xjavadoc
标志:
<dependency>
<groupId>org.apache.cxf.xjcplugins</groupId>
<artifactId>cxf-xjc-javadoc</artifactId>
<version>4.0.0</version>
</dependency>