0

複数の/共通の重複する xs:element / class エントリを含む複数の xsd スキーマ ファイルがあります。pom.xml の次の行を使用してクラスに変換してみました

<build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxb2-maven-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <id>schema1</id>
                        <goals>
                            <goal>xjc</goal>
                        </goals>
                        <configuration>
                            <schemaDirectory>src/main/resources/xsd/schema1</schemaDirectory>
                            <schemaIncludes>
                                <include>schema1.xsd</include>
                            </schemaIncludes>
                            <packageName>com.schema1.rest.stub</packageName>
                        </configuration>
                    </execution>
                    <execution>
                        <id>schema2</id>
                        <goals>
                            <goal>xjc</goal>
                        </goals>
                        <configuration>
                            <schemaDirectory>src/main/resources/xsd/schema2</schemaDirectory>
                            <schemaIncludes>
                                <include>schema2.xsd</include>
                            </schemaIncludes>
                            <packageName>com.schema2.rest.stub</packageName>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

executionタグを1 つだけ使用して実行しているときに、クラスを正常に取得しています。しかし、2 つ以上のスキーマまたはexecutionタグを含めると、最後のスキーマ「schema2」に対して作成されたクラスしか表示されず、「schema1」に対して作成されたクラスは表示されません。

コマンド ライン ログで実行すると、両方のスキーマに対してクラスが生成されていることがわかります。しかし、その結果、古いパッケージが削除され、再作成されます。基本的に、最後のスキーマのみのクラスしかなく、他のスキーマのクラスはありません。

どうすれば解決できますか?

4

1 に答える 1

0

<clearOutputDir>false</clearOutputDir>両方の<configuration>タグで使用します。

例えば:

<configuration>
    <clearOutputDir>false</clearOutputDir>
    <schemaDirectory>src/main/resources/xsd/schema2</schemaDirectory>
    <schemaIncludes>
        <include>schema2.xsd</include>
    </schemaIncludes>
    <packageName>com.schema2.rest.stub</packageName>
</configuration>
于 2016-04-06T06:20:17.373 に答える