Spring mavenプラグインを使用しています。特定のフォルダーの指定されたxmlスキーマからPOJOクラスを作成したいです。 Javaコードを介してxjc
コマンドを試しましたが、そのクラスを生成しませんでした。次に、jaxb
を試しましたが、xml
ファイルは、マーシェル/アンマーシェリング中のxsd
スキーマではありません。これは、xsd
からPOJOを作成する方法ではないと思います。
Javaでxsdからクラスを生成する正しい方法は何ですか?
以下は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>
私の推奨は
JAXB
を使用することです。
私はそれをEclipse
でテストしましたが、私にとってはうまくいきます。私の提案は、command line
から、またはEclipse
の助けを借りてPOJOを生成してみることです。成功したら、maven
で構成して、POJO build time
を生成します。
これを学ぶためのいくつかのチュートリアルがあります。お好みに応じて以下のリンクに従ってください:
また、YouTubeリンク:
私はそれが役立つことを願っています!
問題が発生した場合は、お気軽にコメントしてください。
.xsd
ファイルをJavaファイルに変換する簡単な方法の1つは xjc ツールです。同じ作業ディレクトリで次のコマンドを実行するだけです。
xjc test.xsd
jaxb2-maven-plugin
Jaxb2-maven-pluginを使用するのが最も簡単な方法です。以下のようにプラグインを定義します。
<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>
そして実行:
mvn jaxb2:xjc
生成されたファイルはtarget\generated-sources\jaxb