Java JAXB XJC代码生成-ObjectFactory类不完整

Java JAXB XJC代码生成-ObjectFactory类不完整,java,xsd,schema,jaxb,xjc,Java,Xsd,Schema,Jaxb,Xjc,我使用XJC命令行工具从XSD模式文件生成Java类。ObjectFactory类生成不完整的内容。它生成的创建方法没有JAXBElement-createType修饰 这可能是什么原因? 当做 Dominik只有JAXB2 XJC生成的绑定中的某些类型需要JAXBElementwrappers。具有@XMLRootElement注释的类型不需要包装器,因此对象工厂不会生成一个。只有当XSD同时包含complexType定义和使用相同名称的complexType的单独元素定义时,JAXB才会生成

我使用XJC命令行工具从XSD模式文件生成Java类。ObjectFactory类生成不完整的内容。它生成的创建方法没有
JAXBElement-createType
修饰

这可能是什么原因? 当做
Dominik

只有JAXB2 XJC生成的绑定中的某些类型需要
JAXBElement
wrappers。具有
@XMLRootElement
注释的类型不需要包装器,因此对象工厂不会生成一个。只有当XSD同时包含complexType定义和使用相同名称的complexType的单独元素定义时,JAXB才会生成从对象实例创建JAXBElement的工厂方法,例如:

<complexType name="my-type">
   ...
</complexType>

<element name="my-type" type="tns:my-type"/>

...
在本例中,JAXB不会使用@XmlRootElement注释对生成的类进行注释,而是提供从对象实例创建JAXBElement所需的工厂方法。这样,您就可以轻松地将非根元素类型的实例序列化为根元素

因此,除了任何要用作顶级元素的complexType定义之外,您应该只添加一个具有相同名称的“element”声明,ObjectFactory将生成预期的工厂方法