Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 2 CXF maven插件在错误目录中生成类_Maven 2_Cxf_Wsdl2java - Fatal编程技术网

Maven 2 CXF maven插件在错误目录中生成类

Maven 2 CXF maven插件在错误目录中生成类,maven-2,cxf,wsdl2java,Maven 2,Cxf,Wsdl2java,我正在使用maven cxf codegen插件从wsdl生成java web服务文件。 如果我试图在默认输出目录中生成文件,那么插件可以正常工作 (目标\生成源\ cxf), 但如果我试图使用以下命令在其他目录中生成它们: <sourceRoot>src/main/myOtherDir</sourceRoot> 如果我这样做 mvn eclipse:eclipse 如果没有“清理”,则不会生成文件 有人知道 我的pom: <plugin>

我正在使用maven cxf codegen插件从wsdl生成java web服务文件。 如果我试图在默认输出目录中生成文件,那么插件可以正常工作 (目标\生成源\ cxf), 但如果我试图使用以下命令在其他目录中生成它们:

<sourceRoot>src/main/myOtherDir</sourceRoot>
如果我这样做

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>

org.apache.cxf
cxf-codegen插件
${cxf.version}
生成源
src/main/myOtherDir
src/main/resources/wsdl/AccountWS.wsdl
wsdl2java
谢谢,
另外,最好将sourceRoot设置在目标目录下,以便与其他内容一起清理,例如:

<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
${project.build.directory}/generated/cxf
为了确保插件始终执行,您需要将其绑定到一个阶段,例如

<executions>
  <execution>
    <id>generate-sources</id>
    <phase>process-resources</phase>
    ...
    <goals>
      <goal>wsdl2java</goal>
    </goals>
  </execution>

生成源
过程资源
...
wsdl2java

我发现了这个问题,非常尴尬。。。 因为我没有更新wsdl,插件没有生成文件

无论如何,apache cfx文档声明: 对于CXF 2.1.4和后者,您不再需要指定
,因为生成源代码是默认值


谢谢你的帮助

谢谢你的提示。我也遇到了同样的麻烦。删除目标目录,它将被重新生成。
<executions>
  <execution>
    <id>generate-sources</id>
    <phase>process-resources</phase>
    ...
    <goals>
      <goal>wsdl2java</goal>
    </goals>
  </execution>