JAXB Mehrere Dateien mit demselben Namespace an dasselbe Paket binden
Ich habe eine Schema-Hierarchie wie folgt:
common
|---legacy
| |---legacy.xsd xmlns="http://common/legacy"
| |---other.xsd xmlns="http://common/legacy"
| '---....xsd xmlns="http://common/legacy"
|---send
|---file.xsd xmlns="http://common/send"
'---text.xsd xmlns="http://common/send"
'---....xsd xmlns="http://common/send"
Alle Dateien in einem Ordner haben denselben Namespace.
Nun möchte ich die Namespaces bestimmten Java-Paketen zuordnen (ich kann den Namespace nicht ändern).
Ich habe eine Lösung gefunden, um ein Schema an ein Paket zu binden. Aber dann müsste ich einen Eintrag pro xsd-Datei erstellen:
<jaxb:bindings schemaLocation="./common/legacy/legacy.xsd">
<jaxb:schemaBindings>
<jaxb:package name="com.company/legacy"/>
</jaxb:schemaBindings>
</jaxb:bindings>
<jaxb:bindings schemaLocation="./common/legacy/other.xsd">
<jaxb:schemaBindings>
<jaxb:package name="com.company/legacy"/>
</jaxb:schemaBindings>
</jaxb:bindings>
.....
Gibt es eine Möglichkeit, eine Bindung zwischen dem Namespace und einem Paketnamen direkt zu definieren?
Der andere Weg wäre, das Paket in maven zu definieren:
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<configuration>
<generatePackage>com.company/legacy</generatePackage>
</configuration>
</plugin>
Aber dann müsste ich eine Ausführung pro Ordner erstellen, was nicht wirklich das ist, was ich will.