Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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
Java maven cxf codegen插件XMLStreamException错误:属性限制_Java_Maven_Cxf_Cxf Codegen Plugin - Fatal编程技术网

Java maven cxf codegen插件XMLStreamException错误:属性限制

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

我正在使用maven cxf codegen插件为一个非常大的WSDL生成一个客户端,下面是配置示例:

   <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>