4

如果我在以下目录中有 xsd 文件

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

我如何指示 maven jaxb 插件使用上述目录中的所有模式文件生成 jaxb 类?如果我指定其中一个文件夹,我可以让它生成类文件,但我不知道如何包含所有三个文件夹。

这是我为一个文件夹生成文件的方式:

<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 回答