我在 Java 1.6 下使用 JAXB 生成 Java 类时遇到问题,其中未生成 @XmlRootElement
注释。
在架构文件中,我添加了以下 block 来强制 xjc 设置类名:
<xs:annotation>
<xs:appinfo>
<jaxb:class name="ClassName" />
</xs:appinfo>
</xs:annotation>
当我删除这个 block 时,@XmlRootElement
注释就按照我想要的那样生成了。
在互联网上没有找到该问题的解决方案,但想分享一下。
最佳答案
当从 XML 模式生成类时,JAXB 实现将为每个具有匿名复杂类型的全局元素生成一个用 @XmlRootElement
注释的类。具有命名复杂类型的全局元素将在生成的 ObjectFactory
类的 create
方法上具有 @XmlElementDecl
注释。
@XmlRootElement
与您在问题中引用的 JAXB 架构注释无关。
关于java - JAXB 不会从架构生成 @XmlRootElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21627269/