将@Generated注释添加到JAXB生成的类中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将@Generated注释添加到JAXB生成的类中相关的知识,希望对你有一定的参考价值。

我正在尝试将一个@javax.annotation.Generated注释添加到JAXB从XSD生成的所有类中。

我正在使用maven-jaxb2-plugin和binding.xjb文件来生成源代码。我看到JAXB插件jaxb2-basics-annotate应该可以解决问题。但我能找到的只是为特定类添加注释的示例。像这个:

<jaxb:bindings schemaLocation="csw/2.0.2/CSW-discovery.xsd" node="/xs:schema">
  <jaxb:bindings node="xs:complexType[@name='GetRecordsType']">
    <annox:annotate>
      <annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement" name="GetRecordsType" />
    </annox:annotate>
</jaxb:bindings>

如何为每个生成的文件执行此操作?这有可能吗?

答案

看来你正在使用highsource/jaxb2-annotate-plugin如果你也在使用他的highsource/maven-jaxb2-plugin,那么内置支持这个功能。只需将其添加到插件配置中:

<configuration>                                 
    <markGenerated>true</markGenerated>
</configuration>

还要检查controlling the output

如果您是官方的jaxb2插件,该功能也是内置的

<configuration>
    <addGeneratedAnnotation>true</addGeneratedAnnotation>
</configuration>

以上是关于将@Generated注释添加到JAXB生成的类中的主要内容,如果未能解决你的问题,请参考以下文章

将generated-sources作为源文件夹添加到Eclipse

在 JAXB 生成的类中未设置默认布尔值

JAXB xs:maxLength 和 minOccurs="0" 未在 xsd 生成的类中显示

为 JAXB 生成的类添加前缀

jaxb2-annotate-plugin为lombok注释添加损坏的可选内容

需要从绑定文件中生成 package-info.java 中的 JAXB 注释