Maven jaxws插件 - 跳过执行

时间:2012-06-29 05:46:10

标签: java maven jax-ws maven-3

我正在使用JAX-WS maven插件(org.jvnet.jax-ws-commons:jaxws-maven-plugin 2.2版)从我项目中的一堆WSDL文件生成类,并且从不作为WSDL真的改变我想默认禁用这个代码生成,并且只为我创建的特定maven配置文件启用它。这个插件的元素支持一个元素,但将其设置为true似乎什么都不做。我在这里做错了吗?或者这是一个已知的错误,我还能做些什么来避免代码生成?

我的插件配置如下所示:

 <plugin>
    <groupId>org.jvnet.jax-ws-commons</groupId>
    <artifactId>jaxws-maven-plugin</artifactId>
    <version>2.2</version>

    <executions>
      <execution>
        <id>import-wsdld</id>
        <phase>generate-sources</phase>
        <goals>
          <goal>wsimport</goal>
        </goals>
        <configuration>
          <wsdlFiles>
            <wsdlFile>MyWSDL.wsdl</wsdlFile>
          </wsdlFiles>
        </configuration>
      </execution>
    </executions>

    <configuration>
      <skip>true</skip>
      <packageName>com.my.package</packageName>
      <wsdlDirectory>src/main/resources/wsdl</wsdlDirectory>
      <keep>true</keep>
      <xnocompile>true</xnocompile>
      <sourceDestDir>src/main/java</sourceDestDir>
      <verbose>false</verbose>
    </configuration>

    <!-- Necessary to revert back to 2.1.7 -->
    <dependencies>
      <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-tools</artifactId>
        <version>2.1.7</version>
        <exclusions>
          <exclusion>
            <groupId>org.jvnet.staxex</groupId>
            <artifactId>stax-ex</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.jvnet.staxex</groupId>
        <artifactId>stax-ex</artifactId>
        <version>1.2</version>
        <exclusions>
          <exclusion>
            <groupId>javax.xml.stream</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
    </dependencies>
  </plugin>

非常感谢,

约瑟夫。

2 个答案:

答案 0 :(得分:3)

好吧,只是在<profile>块中执行它(我的意思是包含所有内容的插件声明)。我不会依赖一些魔术插件特定的解决方案。只需使用Maven提供的开箱即用功能,并使用<profile>内容创建<plugin>

答案 1 :(得分:0)

基于documentation of the plugin它没有“跳过”参数,这当然意味着它不会支持。最好的解决方案是将其放入前面提到的配置文件中。