在Java 1.6下使用JAXB生成Java-Classes时出现问题,其中未生成@XmlRootElement
注释。
在Schema文件中,我添加了以下块来强制xjc设置类名:
<xs:annotation>
<xs:appinfo>
<jaxb:class name="ClassName" />
</xs:appinfo>
</xs:annotation>
当我删除此块时,@XmlRootElement
注释就像我想要的那样生成。
没有在互联网上找到解决此问题的解决方案,但想分享它。
答案 0 :(得分:3)
从XML Schema生成类时,JAXB实现将为具有匿名复杂类型的每个全局元素生成一个用@XmlRootElement
注释的类。具有命名复杂类型的全局元素将在生成的@XmlElementDecl
类的create
方法上具有ObjectFactory
注释。
@XmlRootElement
与您在问题中引用的JAXB架构注释无关。