如何在不使用<xjc:simple>的情况下自动生成@XmlRootElement注释?

时间:2019-05-22 11:11:16

标签: java xml jaxb maven-jaxb2-plugin

是否有一种方法可以使maven-jaxb22-plugin生成这些注释而无需借助<xjc:simple/>标志?

上下文:

<xjc:simple/>使非常有用的@XmlRootElement注释自动生成,而无需任何其他配置。不幸的是,它还会创建多个方法名称,更重要的是,它并不总是使用XSD中指定的类的确切类型名称。

我知道我们可以使用ObjectFactory创建JAXBElement,它提供与@XmlRootElement批注相同的信息,但是人们总是忘记这样做,并且错误只会在尝试将对象写入(封送)到xml中时运行时,甚至在实际使用了相关元素的情况下也是如此。

我也知道可以指示插件手动执行此操作,但是这种方法无法将我们扩展到庞大的多文件xsd模式(我们无法对其进行编辑,因此必须进入bindings.xml):

<jaxb:bindings node="//xs:complexType[@name='personType']">
    <annox:annotate>
        <annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement" name="person"/>
    </annox:annotate>
</jaxb:bindings>

0 个答案:

没有答案