Das Ausführen eines "xjc" -Befehls auf diesen xsd-Dateien gibt Two declarations cause a collision in the ObjectFactory class
zurück, da zwei Elemente vorhanden sind benannte "Skala" und "Skala".
Laut dieser Seite kann dieses Problem durch Anpassen der xsd-Dateien mit <factoryMethod>
behoben werden. .
Weißt du wie das geht? Haben Sie ein Beispiel dafür, wie Sie die Datei binden können?
Sie können das Bindings-Tag verwenden. Setzen Sie das schemaLocation-Attribut auf den Speicherort eines bestimmten xsd. Die untergeordneten Tags, schemaBindings und das Paket definieren dann einen neuen Paketnamespace für dieses xsd. Unten ist die Bindungsdatei, die ich vor einiger Zeit mit xjc benutzt habe. Wenn es noch funktioniert, großartig. Wenn nicht, Beispiel =).
%Vor%Nun, nach einem langen Versuch hat die folgende Konfiguration für mich funktioniert. Ich benutze jaxb2-maven-plugin 2.3.1 und eine separate Bindedatei:
pom.xml
%Vor%bindings.xml
%Vor%%Vor%
Bitte beachten Sie, dass wir packageName
in pom.xml
nicht angeben müssen, stattdessen können wir sie mit <jxb:schemaBindings>
innerhalb der Datei bindings.xjb deklarieren, was viel einfacher ist, wie erwähnt hier .