web-dev-qa-db-de.com

Wie erstelle ich Pojo-Klassen aus XSD?

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>
4

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:

Auch die Youtube-Links:

Ich hoffe, es hilft!

Fühlen Sie sich frei zu kommentieren, wenn Sie auf ein Problem stoßen.

14
SyntaX

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
0
Arpit

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

0
AzizSM