我正在使用maven cxf-codegen-plugin从wsdl生成java web服务文件。 如果我试图在默认输出目录中生成文件,插件工作正常 (目标\产生来源\ CXF), 但如果我试图通过使用:
在其他目录中生成它们<sourceRoot>src/main/myOtherDir</sourceRoot>
在我的pom.xml中, 如果我这样做,仅生成文件:
mvn clean eclipse:eclipse
如果我这样做
mvn eclipse:eclipse
没有'干净'文件没有生成......
有没有人有任何想法......?
我的pom:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<configuration>
<sourceRoot>src/main/myOtherDir</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>src/main/resources/wsdl/AccountWS.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
谢谢, 阿龙
答案 0 :(得分:3)
最好将sourceRoot设置在目标目录下方,以便与其他内容一起清理,例如:
<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
为确保插件始终执行,您需要将其绑定到某个阶段,例如
<executions>
<execution>
<id>generate-sources</id>
<phase>process-resources</phase>
...
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
答案 1 :(得分:1)
我发现问题,非常尴尬...... 因为我没有更新wsdl,插件没有生成文件...
无论如何,apache cfx文档指出:
对于CXF 2.1.4和后者,您不再需要指定<phase>
,因为generate-sources是默认值。
感谢您的帮助