4

次のディレクトリにxsdファイルがある場合

src/main/resources/xsd
src/main/resources/schema/common
src/main/resources/schema/soap

上記のディレクトリ内のすべてのスキーマファイルを使用してjaxbクラスを生成するようにmavenjaxbプラグインに指示するにはどうすればよいですか?フォルダの1つを指定すると、クラスファイルを生成できますが、3つのフォルダすべてを含める方法がわかりません。

1つのフォルダのファイルを生成する方法は次のとおりです。

<plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <schemaDirectory>src/main/resources/xsd</schemaDirectory>
            </configuration>
        </plugin>

要素に複数のエントリを追加しようとしましたが、追加するとすべてが無視されます。

ありがとう

4

2 に答える 2

8

この構成を試すことができます:

<configuration>
        <schemaDirectory>src/main/resources</schemaDirectory>
    <schemaIncludes>
        <include>xsd/*.xsd</include>
            <include>schema/*/*.xsd</include>
    </schemaIncludes>
</configuration>

ソース:http ://confluence.highsource.org/display/MJIIP/User+Guide

于 2012-08-05T11:59:54.977 に答える
2

プラグインは、スキーマファイルをサブフォルダーではなくsrc / main/resourcesに配置することを記述しています。設定より規約という意味で、プラグインのデフォルトを使用することをお勧めします。さらに、正しいフォルダを含む正しいファイルを含めるためのスキーマを持つことが重要です。

このような状況で最も良いのは、スキーマとおそらくいくつかのサポートクラスのみを含む別のモジュールを用意することです。

于 2012-08-05T11:57:37.097 に答える