0

我有多个 xsd 架构文件,其中包含多个/常见重复 xs:element / class 条目。我尝试使用 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标签运行时,我成功获得了课程。但是当我包含两个或两个以上的模式或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 回答