Java maven cxf codegen插件XMLStreamException错误:属性限制
我正在使用maven cxf codegen插件为一个非常大的WSDL生成一个客户端,下面是配置示例:Java maven cxf codegen插件XMLStreamException错误:属性限制,java,maven,cxf,cxf-codegen-plugin,Java,Maven,Cxf,Cxf Codegen Plugin,我正在使用maven cxf codegen插件为一个非常大的WSDL生成一个客户端,下面是配置示例: <plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin</artifactId> <version>${cxf-version}</version> <executi
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf-version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<!--sourceRoot>${project.build.directory}/generated/cxf</sourceRoot-->
<sourceRoot>${project.basedir}/src/main/java</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${project.basedir}/src/main/resources/wsdl/PDT.wsdl</wsdl>
<wsdlLocation>classpath:wsdl/PDT.wsdl</wsdlLocation>
<extendedSoapHeaders>true</extendedSoapHeaders>
<autoNameResolution>true</autoNameResolution>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
如果maven插件中的属性限制值大于500,是否仍需要更改?我刚刚找到答案,您可以在maven cxf插件中覆盖“org.apache.cxf.stax.maxAttributeCount=500”设置系统java属性,如下所示:
<configuration>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf-version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<!--sourceRoot>${project.build.directory}/generated/cxf</sourceRoot-->
<sourceRoot>${project.basedir}/src/main/java</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${project.basedir}/src/main/resources/wsdl/PDT.wsdl</wsdl>
<wsdlLocation>classpath:wsdl/PDT.wsdl</wsdlLocation>
<extendedSoapHeaders>true</extendedSoapHeaders>
<autoNameResolution>true</autoNameResolution>
</wsdlOption>
</wsdlOptions>
<additionalJvmArgs>-Dorg.apache.cxf.stax.maxAttributeCount=5000</additionalJvmArgs>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
org.apache.cxf
cxf-codegen插件
${cxf版本}
生成源
生成源
${project.basedir}/src/main/java
${project.basedir}/src/main/resources/wsdl/PDT.wsdl
类路径:wsdl/PDT.wsdl
真的
真的
-Dorg.apache.cxf.stax.maxAttributeCount=5000
wsdl2java
<configuration>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf-version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<!--sourceRoot>${project.build.directory}/generated/cxf</sourceRoot-->
<sourceRoot>${project.basedir}/src/main/java</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${project.basedir}/src/main/resources/wsdl/PDT.wsdl</wsdl>
<wsdlLocation>classpath:wsdl/PDT.wsdl</wsdlLocation>
<extendedSoapHeaders>true</extendedSoapHeaders>
<autoNameResolution>true</autoNameResolution>
</wsdlOption>
</wsdlOptions>
<additionalJvmArgs>-Dorg.apache.cxf.stax.maxAttributeCount=5000</additionalJvmArgs>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>