On my project on which I was successfully using Spring Data JPA 1.2.0.RELEASE with Spring 3.1, I just changed my Maven dependency for spring-core to 3.2.0.RELEASE. I am getting a java.lang.IncompatibleClassChangeError when attempting to start my web container. Here's a sample of the stacktrace:
My suspicion is that the culprit is Spring Data JPA 1.2.0's dependency on spring-asm, based on my reading of section C.3 of the appendices with the release notes.Code:Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.core.type.classreading.ClassMetadataReadingVisitor has interface org.springframework.asm.ClassVisitor as super class at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.6.0_29] at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) ~[na:1.6.0_29] at java.lang.ClassLoader.defineClass(ClassLoader.java:615) ~[na:1.6.0_29] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) ~[na:1.6.0_29] at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1814) ~[tmp8994960648441534081jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872) ~[tmp8994960648441534081jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] at org.jboss.web.tomcat.service.WebAppClassLoader.findClass(WebAppClassLoader.java:75) ~[tmp6658054736622098672jbossweb-service.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325) ~[tmp8994960648441534081jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204) ~[tmp8994960648441534081jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.6.0_29] at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) ~[na:1.6.0_29] at java.lang.ClassLoader.defineClass(ClassLoader.java:615) ~[na:1.6.0_29] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) ~[na:1.6.0_29] at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1814) ~[tmp8994960648441534081jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872) ~[tmp8994960648441534081jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] at org.jboss.web.tomcat.service.WebAppClassLoader.findClass(WebAppClassLoader.java:75) ~[tmp6658054736622098672jbossweb-service.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325) ~[tmp8994960648441534081jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204) ~[tmp8994960648441534081jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:58) ~[spring-core-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80) ~[spring-core-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101) ~[spring-core-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:237) ~[spring-context-3.1.2.RELEASE.jar:3.1.2.RELEASE] ... 150 common frames omitted
Am I correct in my suspicion? Is there any way (beyond waiting for an update to spring-data-jpa) around this?
Thanks in advance!


Reply With Quote
