使用maven-jaxb2-plugin从多个wsdl文件生成类

问题描述 投票:1回答:1

我可以从一个wsdl文件生成类,如下所示:

<plugin>
    <groupId>org.jvnet.jaxb2.maven2</groupId>
    <artifactId>maven-jaxb2-plugin</artifactId>
    <version>0.12.3</version>
    <configuration>
        <schemaLanguage>WSDL</schemaLanguage>
        <schemaDirectory>src/main/resources</schemaDirectory>
        <schemaIncludes>
            <include>bwl_1_1.wsdl</include>
        </schemaIncludes>
        <generatePackage>bwl.wsdl</generatePackage>
        <generateDirectory>${project.build.directory}/generated-sources/bwl</generateDirectory>
    </configuration>
</plugin>

当我尝试使用多个<plugin>时,只生成其中一个。我发现如果我想从多个文件生成类,我应该使用<executions>。然而,当我将<configuration>包装到<executions>中时,它不再生成,实际上它从目录中的xsd文件生成了一些东西......

我没有尝试过:

    <plugin>
        <groupId>org.jvnet.jaxb2.maven2</groupId>
        <artifactId>maven-jaxb2-plugin</artifactId>
        <version>0.12.3</version>

        <executions>
            <execution>
                <id>bwl</id>
                <goals>
                    <goal>generate</goal>
                </goals>
                <configuration>
                    <schemaLanguage>WSDL</schemaLanguage>
                    <schemaDirectory>src/main/resources</schemaDirectory>
                    <schemaIncludes>
                        <include>bwl_1_1.wsdl</include>
                    </schemaIncludes>
                    <generatePackage>bwl.wsdl</generatePackage>
                    <generateDirectory>${project.build.directory}/generated-sources/bwl</generateDirectory>
                </configuration>
            </execution>

            <execution>
                <id>score</id>
                <goals>
                    <goal>generate</goal>
                </goals>
                <configuration>
                    <schemaLanguage>WSDL</schemaLanguage>
                    <schemaDirectory>src/main/resources</schemaDirectory>
                    <schemaIncludes>
                        <include>score_1_1.wsdl</include>
                    </schemaIncludes>
                    <generatePackage>score.wsdl</generatePackage>
                    <generateDirectory>${project.build.directory}/generated-sources/score</generateDirectory>
                </configuration>
            </execution>
        </executions>

    </plugin>

谢谢。

maven wsdl jaxb2 maven-jaxb2-plugin
1个回答
1
投票

${basedir}标记的路径前面添加<schemaDirectory>,如下所示

<schemaDirectory>${basedir}/src/main/resources</schemaDirectory>

那它应该工作!

© www.soinside.com 2019 - 2024. All rights reserved.