axistools-maven-plugin wsdl2java如何为每个wsdl设置不同的包

时间:2016-04-07 09:11:18

标签: web-services packages maven-plugin axis wsdl2java

我想使用axistools-maven-plugin从wsdl生成java类。

现在我有了这个代码并且它可以工作:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>axistools-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>ax-ws-autogen</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
            <configuration>
                <sourceDirectory>src/main/resources/wsdl</sourceDirectory>
                <wsdlFiles>
                    <wsdlFile>myfirstwsdl.wsdl</wsdlFile>
                </wsdlFiles>
                <packageSpaces>my.package.code.first</packageSpaces>
                <testCases>false</testCases>
                <serverSide>false</serverSide>
                <subPackageByFileName>false</subPackageByFileName>
                <outputDirectory>src/main/java</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

现在我需要使用另一个wsdl。所以我想将它添加到这个插件中,但是在另一个包中。我该怎么办?

我看到我可以在<wsdlFiles>标记中添加wsdl文件,但我不知道如何为新的wsdl添加新包。

使用CXF,我可以在<wsdlOptions>标记中设置不同的wsdl和包,但是使用轴我不知道该怎么做。

请帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我解决了问题设置<subPackageByFileName> = true并更改了常规包中的<packageSpace>

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>axistools-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>ax-ws-autogen</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
            <configuration>
                <sourceDirectory>src/main/resources/wsdl</sourceDirectory>
                <wsdlFiles>
                    <wsdlFile>myfirstwsdl.wsdl</wsdlFile>
                    <wsdlFile>mysecondwsdl.wsdl</wsdlFile>
                </wsdlFiles>
                <packageSpace>my.package.code</packageSpace>
                <testCases>false</testCases>
                <serverSide>false</serverSide>
                <subPackageByFileName>true</subPackageByFileName>
                <outputDirectory>src/main/java</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

通过这种方式,我得到一个包含两个包的 my.package.code 包:

  • my.package.code.myfirstwsdl 包含我的第一个wsdl的所有类;
  • my.package.code.mysecondwsdl 包含我的第二个wsdl的所有类。