Dies ist eine allgemeine Anforderung. Sie können dies tun, indem Sie eine zusätzliche JAXB-Bindungsdatei zur Verfügung stellen, um anzupassen, wie JAXB die Namen des Schematyps in Java-Klassennamen umsetzt.
Diese Dateien enden normalerweise in der Erweiterung ".xjb". Sie benötigen für Ihr Schema zu erstellen, zum Beispiel:
<jxb:bindings version="1.0"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jxb:extensionBindingPrefixes="xjc">
<jxb:bindings schemaLocation="nl.company.service.xsd" node="/xs:schema">
<jxb:schemaBindings>
<jxb:nameXmlTransform>
<jxb:typeName prefix="XML"/>
<jxb:anonymousTypeName prefix="XML"/>
</jxb:nameXmlTransform>
</jxb:schemaBindings>
</jxb:bindings>
</jxb:bindings>
Nachdem Sie das getan haben, fallen die XJB Datei irgendwo in Ihrem Build-Verzeichnis und Maven sagen Gebrauch davon während der Übersetzung zu machen:
<includeBindings>
<includeBinding>mybindings.xjb</includeBinding>
</includeBindings>
Und hier ist ein Hinweis für die Straße: Wenn Sie in einem Pfad sind, der Leerzeichen enthält (zB "Dokumente und Einstellungen \ Benutzer \ Projekt"), wird JAXB mit seltsamen Fehlern umfallen.
Die maven-jaxb2-Plugin Konfiguration benötigt die Tags "bindingIncludes" und "bindingInclude", nicht "includeBindings" und "includeBinding" – kevinmrohr