Ich benutze das Spring Maven Plugin, ich möchte POJO-Klassen aus dem angegebenen XML-Schema in einem bestimmten Ordner erstellen. Ich habe es mit dem Befehl xjc
über Java-Code versucht, aber er generiert diese Klassen nicht. Zweitens habe ich es mit jaxb
versucht, aber es handelt sich bei der xml
-Datei nicht um ein xsd
-Schema, während Marshell/Unmarshelling ausgeführt wird. Ich denke, dies ist keine Möglichkeit, POJO aus xsd
zu erstellen.
Was ist eine korrekte Methode, um Klassen aus xsd in Java zu generieren?
unten ist XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Employee">
<xs:complexType>
<xs:sequence>
<xs:element name="empId" type="xs:long"/>
<xs:element name="lastName" type="xs:string"/>
<xs:element name="title" type="xs:string"/>
<xs:element name="salary" type="xs:integer"/>
<xs:element name="address">
<xs:complexType>
<xs:sequence>
<xs:element name="city" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
<xs:element name="zipcode" type="xs:integer"/>
<xs:element name="privatePhoneNo">
<xs:complexType>
<xs:sequence>
<xs:element name="privateMobile" type="xs:string"/>
<xs:element name="privateLandline" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Meine Empfehlung ist, mit
JAXB
zu gehen.
Ich habe es in Eclipse
getestet, funktioniert gut für mich. Mein Vorschlag ist der Versuch, das POJO aus command line
oder mit Hilfe von Eclipse
zu generieren. Nach erfolgreicher Konfiguration konfigurieren Sie es mit maven
, um den POJO build time
zu generieren.
Es gibt mehrere Lernprogramme, um dies zu lernen. Bitte folgen Sie den nachstehenden Links, je nach Ihren Vorlieben:
XJC
Maven PluginAuch die Youtube-Links:
Ich hoffe, es hilft!
Fühlen Sie sich frei zu kommentieren, wenn Sie auf ein Problem stoßen.
Eine einfache Möglichkeit, .xsd
-Dateien in eine Java-Datei zu konvertieren, ist xjc tool. Führen Sie einfach den folgenden Befehl in demselben Arbeitsverzeichnis aus:
xjc test.xsd
jaxb2-maven-plugin
Am einfachsten ist es, das jaxb2-maven-plugin zu verwenden. Definieren Sie die Plugins wie folgt:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<schemaDirectory>${project.basedir}/src/main/xsd/</schemaDirectory>
<schemaFiles>MARC21slim.xsd</schemaFiles>
</configuration>
</plugin>
</plugins>
</build>
und führe aus:
mvn jaxb2:xjc
die generierten Dateien befinden sich in target\generated-sources\jaxb