1

给定 src/main/resources/wsdl 下带有 WSDL 文件 a.wsdl 的依赖项 A,我想将其包含在依赖项 B 中,该依赖项 B 对 A 具有编译依赖项以生成轴类

         <plugin>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>bar</id>
                    <goals>
                        <goal>wsdl2code</goal>
                    </goals>
                    <configuration>
                        <generateServerSide>false</generateServerSide>
                        <packageName>com.foo</packageName>
                        <wsdlFile>/wsdl/a.wsdl</wsdlFile>
                        <databindingName>adb</databindingName>
                    </configuration>
                </execution>
            </executions>
        </plugin> 

当 a.wsdl 存储在 Artifact B 中时,它可以正常工作,但将其移动到 A 不起作用 java.io.FileNotFoundException 指向 Artifact B 中的 wsdl 文件夹。

是否有可能包含另一个工件中的 wsdl 文件作为axis2-wsdl2code-maven-plugin?

4

1 回答 1

1

您可以在构建工件 B 期间从工件 A 中提取 WSDL 文件:

<plugin>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
            <goals>
                <goal>unpack-dependencies</goal>
            </goals>
            <phase>generate-sources</phase>
            <configuration>
                <includes>**/*.wsdl</includes>
                <outputDirectory>${project.build.directory}/wsdl</outputDirectory>
                <includeArtifactIds><artifact-a></includeArtifactIds>
                <includeGroupIds><artifact-a-group-id></includeGroupIds>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>bar</id>
            <goals>
                <goal>wsdl2code</goal>
            </goals>
            <configuration>
                <generateServerSide>false</generateServerSide>
                <packageName>com.foo</packageName>
                <wsdlFile>${project.build.directory}/wsdl/extracted/path/to/a.wsdl</wsdlFile>
                <databindingName>adb</databindingName>
            </configuration>
        </execution>
    </executions>
</plugin>
于 2011-11-18T15:11:19.357 回答