1

条件:単純なWebサービスは、Javaクライアントからエンティティを含むXMLファイルを受信します。

タスク:エンティティクラスなしでJAXBを使用してこのXMLをマーシャリングします。クラスはクライアントのコンパイル時にロードする必要があります。

例:

marshaller.marshall(new Shape(), someShape.xml);

クライアントアプリパッケージにはクラス「Shape」はありません。コンパイル時にロードする必要があります。

どうすればそのアップロードを実行できますか?プロジェクトはMavenの下にあります。

4

1 に答える 1

2

Mavenを使用している場合は、maven-jaxb2-pluginを確認してください。

ここにドキュメント。

あなたはあなたのpomにこのようなものを追加するでしょう:

        <plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <generatePackage>com.psed.project.entities</generatePackage>
            </configuration>
            <version>0.8.1</version>
        </plugin>

これにより、コンパイル時にスキーマファイルからすべてのエンティティが生成されます。

于 2012-04-19T13:25:23.817 に答える