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>

非常感谢,

约瑟夫。

4

2 回答 2

3

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

于 2012-06-29T07:05:55.520 回答
0

根据插件的文档,它没有“skip”参数,这当然意味着它不支持。最好的解决方案是将其放入前面提到的配置文件中。

于 2012-06-29T09:54:07.570 回答