Я использую плагин Maven jaxb2 для генерации конструктора значений по умолчанию для моих сгенерированных классов JAXB. Проблема, с которой я сталкиваюсь, заключается в том, что порядок атрибутов / полей изменяется при различных вызовах на generate-sources
, и в результате этого сгенерированный конструктор меняет.
Атрибуты определены в схеме как набор из трех групп атрибутов:
<xsd:attributeGroup name="CollectionAttributeGroup">
<xsd:attributeGroup ref="AttributeGroupA"/>
<xsd:attributeGroup ref="AttributeGroupB"/>
<xsd:attributeGroup ref="AttributeGroupC"/>
</xsd:attributeGroup>
Атрибуты в каждой из подгрупп (например, AttributeGroupA) всегда будут в одном и том же порядке, но порядок подгрупп меняется с каждым вызовом. Это делает мои конструкторы непригодными для использования, так как нет гарантии порядка полей, и каждая новая сборка может нарушать существующий код.
Есть идеи о том, как обеспечить порядок атрибутов / полей?