Java CXF自动生成失败,出现“错误”;复制选项:前端";在maven?

Java CXF自动生成失败,出现“错误”;复制选项:前端";在maven?,java,web-services,maven,soap,cxf,Java,Web Services,Maven,Soap,Cxf,我已经从WSDL文件设置了一个简单的cxfmaven自动生成。但我得到以下例外。我错过了什么 执行生成目标的来源 org.apache.cxf:cxf codegen插件:3.0.0:wsdl2java失败: org.apache.cxf.tools.common.toolspec.parser.BadUsageException: 复制选项:前端 (org.apache.cxf:cxfcodegen插件:3.0.0:wsdl2java:generate sources:generate sou

我已经从
WSDL
文件设置了一个简单的cxfmaven自动生成。但我得到以下例外。我错过了什么

执行生成目标的来源 org.apache.cxf:cxf codegen插件:3.0.0:wsdl2java失败: org.apache.cxf.tools.common.toolspec.parser.BadUsageException: 复制选项:前端 (org.apache.cxf:cxfcodegen插件:3.0.0:wsdl2java:generate sources:generate sources)

pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>3.0.0</version>
            <executions>
                <execution>
                    <id>generate-sources</id>
                    <phase>generate-sources</phase>

                    <configuration>
                      <defaultOptions>
                          <extraargs>
                              <extraarg>-fe</extraarg>
                              <extraarg>cxf</extraarg> 
                          </extraargs>
                      </defaultOptions>
                        <wsdlOptions>
                            <wsdlOption>
                                <wsdl>${project.basedir}/src/main/resources/MyService.wsdl</wsdl>
                                <wsdlLocation>classpath:/MyService.wsdl</wsdlLocation>
                            </wsdlOption>
                        </wsdlOptions>
                    </configuration>
                    <goals>
                        <goal>wsdl2java</goal>
                    </goals>
                </execution>
            </executions>


                 </plugin>
        </plugins>
    </build>
    <dependencies>

            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-frontend-jaxws</artifactId>
                <version>3.0.0</version>
            </dependency>
 <dependencies>

org.apache.cxf
cxf-codegen插件
3.0.0
生成源
生成源
-铁
cxf
${project.basedir}/src/main/resources/MyService.wsdl
类路径:/MyService.wsdl
wsdl2java
org.apache.cxf
cxf rt前端jaxws
3.0.0
Maven debug显示了以下内容:

[DEBUG]使用参数调用wsdl2java:[-encoding,UTF-8,-d, \target\generated\src\main\java,-fe,cxf,-fe,cxf,-wsdlLocation, 类路径:wsdl/MyService.wsdl

为什么前面的
-fe
创建了两次???

删除
-fecxf
部分

在wsdlOption中添加此外部参数

<wsdlOption>
    <extraarg>-autoNameResolution</extraarg>
</wsdlOption>

-自动命名解析

遇到了完全相同的问题。您必须禁用目录扫描。然后您可以将附加参数保留在默认选项中,而不必对所有wsdlOptions重复它们

      <configuration>
          <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>
          <disableDirectoryScan>true</disableDirectoryScan>
          <defaultOptions>
            <extraargs>
              <extraarg>-verbose</extraarg>
              <extraarg>-validate</extraarg>
              <extraarg>-client</extraarg>
              <extraarg>-suppress-generated-date</extraarg>
            </extraargs>
          </defaultOptions>
          <!--wsdlOptions--> 
      </configuration>   

${project.build.directory}/generated sources/cxf
真的
-冗长的
-证实
-客户
-抑制生成日期

太好了,它在
wsdlOption
级别工作。但是为什么它不在
defaultOptions
级别工作呢?这正是简单定义外部参数并在每个
wsdl
中重用它的目的?