使用 jaxws-maven-plugin 从多个 wsdls 生成 类

Generating classes from multiple wsdls using jaxws-maven-plugin

我正在尝试使用 jaxws-maven-plugin 从多个 WSDL 生成 类。
但它仅从第一个执行块中定义的 wsdl 生成 类。

我看到这个话题已经在几个地方讨论过,我已经根据评论更改了我的 pom。我仍然无法让它工作。

         <plugin>
                <groupId>org.jvnet.jax-ws-commons</groupId>
                <artifactId>jaxws-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>session-wsdl</id>
                        <goals>
                            <goal>wsimport</goal>
                        </goals>
                        <configuration>
                            <wsdlFiles>
                                <wsdlFile>src/main/resources/wsdl/SESSION.wsdl</wsdlFile>
                            </wsdlFiles>
                            <bindingDirectory>${project.basedir}</bindingDirectory>
                            <keep>true</keep>
                            <sourceDestDir>${genSrc.directory}</sourceDestDir>
                        </configuration>
                    </execution>
                    <execution>
                        <id>api-wsdl</id>
                        <goals>
                            <goal>wsimport</goal>
                        </goals>
                        <configuration>
                            <wsdlFiles>
                                <wsdlFile>src/main/resources/wsdl/STAGE.wsdl</wsdlFile>
                            </wsdlFiles>
                            <bindingDirectory>${project.basedir}</bindingDirectory>
                            <keep>true</keep>
                            <sourceDestDir>${genSrc.directory}</sourceDestDir>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <verbose>true</verbose>
                    <wsdlDirectory>
                        ${basedir}/
                    </wsdlDirectory>
                </configuration>
            </plugin> 

我认为这里的问题与此配置有关:

<sourceDestDir>${genSrc.directory}</sourceDestDir>

两次执行具有相同的sourceDestDir。您应该指定 2 个不同的 sourceDestDir,像这样:

<!-- sourceDestDir for the first execution -->
<sourceDestDir>${genSrc.directory}/session</sourceDestDir>

<!-- sourceDestDir for the second execution -->
<sourceDestDir>${genSrc.directory}/stage</sourceDestDir>