我正在使用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>
非常感谢,
约瑟夫。
答案 0 :(得分:3)
好吧,只是在<profile>
块中执行它(我的意思是包含所有内容的插件声明)。我不会依赖一些魔术插件特定的解决方案。只需使用Maven提供的开箱即用功能,并使用<profile>
内容创建<plugin>
。
答案 1 :(得分:0)
基于documentation of the plugin它没有“跳过”参数,这当然意味着它不会支持。最好的解决方案是将其放入前面提到的配置文件中。