【发布时间】:2012-10-19 15:56:55
【问题描述】:
我使用 org.codehaus.mojo jaxb2-maven-plugin 为我的课程生成 xsd 架构。插件站点http://mojo.codehaus.org/jaxb2-maven-plugin/faq.html告诉,该插件使用JDK实用程序schemagen.exe进行生成。 问题是生成的 xsd 中的顺序不确定,取决于您运行插件的机器。
public class One {
public String field1;
}
public class Two {
public String field2;
}
并生成方案:
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="two">
<xs:sequence>
<xs:element name="field2" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="one">
<xs:sequence>
<xs:element name="field1" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
但是当我的同事运行生成时,他得到了另一个订单:
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="one">
<xs:sequence>
<xs:element name="field1" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="two">
<xs:sequence>
<xs:element name="field2" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
我们使用
- JDK 1.6.0_26
- jaxb2-maven-plugin 1.3
- jaxb-impl 版本 2.1.12(由插件使用)
有没有办法控制这个顺序?
【问题讨论】:
标签: xsd jaxb schemagen jaxb2-maven-plugin