Java 如何关闭JAXB';s优化
使用Java 如何关闭JAXB';s优化,java,java-8,jaxb,Java,Java 8,Jaxb,使用java1.8,maven-jaxb2-plugin:0.14.0和jaxb2.3.0 当我从XSD文件生成java类时,有些类太简单,JAXB决定跳过它们。相反,它放置了一个@XmlElementWrapper注释 例如: <xs:complexType name="AAAA"> <xs:sequence> <xs:element name="eeee" type="BBBB"
java1.8
,maven-jaxb2-plugin:0.14.0
和jaxb2.3.0
当我从XSD文件生成java类时,有些类太简单,JAXB决定跳过它们。相反,它放置了一个@XmlElementWrapper注释
例如:
<xs:complexType name="AAAA">
<xs:sequence>
<xs:element name="eeee" type="BBBB" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
在这种特殊的情况下,这种优化对我没有帮助,我更希望在设计XSD时看到这些类(例如,AAAA变成了Java类)
有没有办法强迫JAXB生成所有类并停止运行“替换字段”步骤?我不确定自己是否理解正确。如果公布完整的xsd模型和原始生成的java类/预期类,效果会更好 但是,可能使用reference会对您有所帮助
<xs:complexType name="AAAA">
<xs:sequence>
<xsd:element ref="eeee" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="eeee">
<xs:sequence>
<xs:element name="eeee" type="BBBB" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
[INFO] Replacing field [eeee AAAA]
<xs:complexType name="AAAA">
<xs:sequence>
<xsd:element ref="eeee" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="eeee">
<xs:sequence>
<xs:element name="eeee" type="BBBB" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>