JAXB不从架构生成@XmlRootElement

时间:2014-02-07 12:01:34

标签: java xml jaxb

在Java 1.6下使用JAXB生成Java-Classes时出现问题,其中未生成@XmlRootElement注释。 在Schema文件中,我添加了以下块来强制xjc设置类名:

<xs:annotation>
    <xs:appinfo>
        <jaxb:class name="ClassName" />
    </xs:appinfo>
</xs:annotation>

当我删除此块时,@XmlRootElement注释就像我想要的那样生成。

没有在互联网上找到解决此问题的解决方案,但想分享它。

1 个答案:

答案 0 :(得分:3)

从XML Schema生成类时,JAXB实现将为具有匿名复杂类型的每个全局元素生成一个用@XmlRootElement注释的类。具有命名复杂类型的全局元素将在生成的@XmlElementDecl类的create方法上具有ObjectFactory注释。

@XmlRootElement与您在问题中引用的JAXB架构注释无关。