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
中重用它的目的?