2013-08-22 49 views
0

我使用Axis2 XMLBeans(版本1.6.2)创建了一个客户端来连接一些CRM Dynamics Web服务。客户端工作完全正常,当我启动它作为一个独立的项目,但是当我把它融入项目的Maven的结构,我尝试使用该服务,我得到以下错误:尝试使用服务时Axis2 + maven ClassFormatError

ERROR [http-bio-8080-exec-13][render_portlet_jsp:154] java.lang.ClassFormatError: Incompatible magic value 4022320623 in class file schemaorg_apache_xmlbeans/system/sC40263DCBC25A143E59FC252DB52E714/TypeSystemHolder at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2889) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1170) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556) at org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(XmlBeans.java:769) at com.microsoft.schemas.crm._2007.webservices.RetrieveDocument.(RetrieveDocument.java:19) at com.microsoft.schemas.crm._2007.webservices.RetrieveDocument$Factory.newInstance(RetrieveDocument.java:147)

我已经创建了Axis代码,通过Maven使用以下插件提供错误:

<plugins> 
      <plugin> 
       <groupId>org.apache.axis2</groupId> 
       <artifactId>axis2-wsdl2code-maven-plugin</artifactId> 
       <version>1.6.2</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>wsdl2code</goal> 
         </goals> 
         <configuration> 
          <packageName>myPackage</packageName> 
          <wsdlFile>src/main/resources/CrmService.wsdl</wsdlFile> 
          <databindingName>xmlbeans</databindingName> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
    </plugins> 

任何想法发生了什么?该错误通常表明该类已损坏,但我生成了多次(并使用不同版本的Axis2),结果相同...

回答

0

只需找到解决方案即可。为了包括生成的类放进瓶子里,我已经添加了此行:

<resources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <filtering>true</filtering> 
      </resource> 
      <resource> 
       <directory>target/generated-sources/axis2/wsdl2code/resources</directory> 
       <filtering>true</filtering> 
      </resource> 
      <resource> 
       <directory>target/generated-sources/axis2/wsdl2code/src</directory> 
       <filtering>true</filtering> 
      </resource> 
     </resources> 

改变资源目录的过滤假后,问题消失。

相关问题