Ich führe eine wsimport-Aufgabe mit der folgenden Bindungsdatei aus:
%Vor% Dies führt jedoch zu Klassen mit JAXBElement<String>
anstelle von String
, wie in getUserSummaryOrTypeOrLogLevel()
unter
Der Eintrag in der xsd-Datei, von der diese Klasse generiert wird, ist unten:
%Vor%Hier ist das Maven-Plugin von meiner Pom-Datei
%Vor% Kann jemand etwas darüber sagen, warum dies geschieht?
Ich möchte String
anstelle von JAXBElement<String>
verwenden und alles, was ich auf SO und anderswo gefunden habe, legt nahe, dass generateElementProperty=false
funktioniert, aber nicht.
Das JAXBElement
ist obligatorisch, wenn es ein xsd:choice
gibt, wobei entweder foo
oder bar
Elemente vorkommen können und sie vom selben Typ sind.
Ein einfacher String reicht nicht aus, um zu markieren, welches Element gemarshallt werden soll.
JAXBElement
ist auch erforderlich, wenn die Elemente nillable="true"
und minOccurs="0"
vorhanden sind oder wenn zwei globale Elemente mit demselben Namen xsd:complexType
vorhanden sind.