Maven jaxb2プラグインを使用して、生成されたJAXBクラスのデフォルト値コンストラクターを生成しています。私が抱えている問題は、属性/フィールドの順序がへの呼び出しごとにgenerate-sources
変わることです。これにより、生成されたコンストラクターが変わります。
属性は、スキーマで3つの属性グループのコレクションとして定義されます。
<xsd:attributeGroup name="CollectionAttributeGroup">
<xsd:attributeGroup ref="AttributeGroupA"/>
<xsd:attributeGroup ref="AttributeGroupB"/>
<xsd:attributeGroup ref="AttributeGroupC"/>
</xsd:attributeGroup>
各サブグループ内の属性(たとえば、AttributeGroupA)は常に同じ順序になりますが、サブグループの順序は呼び出しごとに変わるようです。これにより、フィールドの順序が保証されないため、コンストラクターが使用できなくなり、新しいビルドごとに既存のコードが破損する可能性があります。
属性/フィールドの順序を強制する方法についてのアイデアはありますか?