Есть ли способ заставить maven-jaxb22-plugin
генерировать эти аннотации, не прибегая к флагу <xjc:simple/>
?
Контекст:
<xjc:simple/>
вызывает автоматическое создание очень полезных аннотаций @XmlRootElement
, не требуя дополнительной настройки. К сожалению, он также создает множественные имена методов и, что более важно, не всегда использует точные имена типов для классов, как указано в XSD.
Я знаю, что мы можем использовать ObjectFactory
для создания JAXBElement
, который предоставляет ту же информацию, что и аннотация @XmlRootElement
, но люди забывают делать это все время, и ошибка возникает только во время выполнения при попытке записи ( маршал) объект в xml, и даже тогда, только если рассматриваемый элемент действительно использовался.
Я также знаю, что плагину можно поручить делать это вручную, но этот подход не масштабирует нас до наших огромных многофайловых xsd-схем (которые мы не можем редактировать, он должен был бы перейти в bindings.xml):
<jaxb:bindings node="//xs:complexType[@name='personType']">
<annox:annotate>
<annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement" name="person"/>
</annox:annotate>
</jaxb:bindings>