通过检查传递给JAXB XJC的参数的Maven调试输出(以及一些试验和错误),我发现我需要为插件提供2个更多的配置参数。
这将停止插件扫描XSD文件,而仅将其.wsdl
用作源。例如,XSD文件作为<xsd:includeschemaLocation="datatypes.xsd"/>
指令包含在WSDL中,这些指令在本地解析,导致WSDL和XSD中的所有类型都生成为java类。
对我有用的配置部分是:
<configuration>
<packageName>com.x.y.model</packageName>
<wsdl>true</wsdl>
<xmlschema>false</xmlschema>
<schemaFiles>service.wsdl</schemaFiles>
</configuration>
没有以下<xmlschema>false</xmlschema>
错误:
org.apache.maven.lifecycle.LifecycleExecutionException:无法在项目foo上执行目标org.codehaus.mojo:jaxb2-maven- plugin:1.5:xjc(default-cli):无法处理架构:/ c:/ projects / foo /src/main/xsd/service.wsdl