在axistools-maven-plugin中使用命名空间映射

时间:2014-03-01 04:13:40

标签: java maven axis

我有一个maven项目,使用axistools-maven-plugin从wsdl文件生成java存根。 在pom内我们有以下内容:

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>axistools-maven-plugin</artifactId>
        <version>${axistools-maven-plugin.version}</version>
        <configuration>
          <mappings>
            <mapping>              
              <namespace>xyz</namespace>
              <targetPackage>x.y.z</targetPackage>
            </mapping>
            <mapping>              
              <namespace>http://time.joda.org</namespace>
              <targetPackage>com.org.joda.time</targetPackage>
            </mapping>
            <mapping>              
              <namespace>abc</namespace>
              <targetPackage>a.b.c</targetPackage>
            </mapping>
          </mappings>
          <testCases>false</testCases>
          <serverSide>false</serverSide>
          <subPackageByFileName>true</subPackageByFileName>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>wsdl2java</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

现在在上面的设置中我们只有映射到包的名称空间。我只是无法得到这个设置如何能够跟踪wsdl在哪里生成存根? Maven文档对此并不十分清楚。关于这个的任何想法?

编辑:

我做了一些测试:

  1. 我删除了名称空间和包的所有映射,但仍然可以获取wsdl。
  2. 即使我更改了wsdl名称,它仍然会被接收。
  3. 这对我来说非常令人惊讶,似乎轴插件知道wsdl的位置。但我怎么不知道。

1 个答案:

答案 0 :(得分:0)

所以最后我解开了这个谜团。 我在调试模式下运行了maven build:mvn -X clean insatll

我注意到maven-axistools-plugin检查默认目录为${basedir}/src/main/wsdl以搜索wsdl,因此它始终能够找到我的wsdls。