QuickBooks-V3-Java-SDK icon indicating copy to clipboard operation
QuickBooks-V3-Java-SDK copied to clipboard

Class loading error in DevKit

Open sukolenvo opened this issue 4 years ago • 1 comments

Error stacktrace:

Caused by: java.lang.IllegalStateException: Unable to load cache item
	at net.sf.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:79)
	at net.sf.cglib.core.internal.LoadingCache.get(LoadingCache.java:34)
	at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:119)
	at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:294)
	at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:221)
	at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:174)
	at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:153)
	at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:73)
	at com.intuit.ipp.query.GenerateQuery.createQueryEntity(GenerateQuery.java:75)
	at i.w.c.q.a.C.f(C.java:38)
	at i.w.c.q.c.C.is(C.java:23)
	at i.w.c.q.Q.is(Q.java:81)
	at i.w.c.m.W.is(W.java:23)
	at i.w.c.h.W.is(W.java:20)
	at i.w.c.h.H.c(H.java:66)
	at i.w.c.h.H.r(H.java:45)
	... 2 more
Caused by: java.lang.IncompatibleClassChangeError: Superclass org/objectweb/asm/ClassVisitor can't be an interface
	at java.base/java.lang.ClassLoader.defineClassImpl(Native Method)
	at java.base/java.lang.ClassLoader.defineClassInternal(ClassLoader.java:481)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:442)
	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:1110)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:898)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:806)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:764)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1083)
	at net.sf.cglib.core.DefaultGeneratorStrategy.getClassVisitor(DefaultGeneratorStrategy.java:30)
	at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
	at net.sf.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:332)
	at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:96)
	at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:94)
	at net.sf.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at net.sf.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61)
	... 17 more

Dependency tree (you can notice that both org.ow2.asm:asm:7.1 and asm:asm:3.3.1 included):

+--- com.intuit.quickbooks-online:ipp-v3-java-devkit:6.0.7
|    +--- com.intuit.quickbooks-online:ipp-v3-java-data:6.0.7 (*)
|    +--- cglib:cglib:3.2.12
|    |    \--- org.ow2.asm:asm:7.1
|    +--- asm:asm-commons:3.3.1
|    |    \--- asm:asm-tree:3.3.1
|    |         \--- asm:asm:3.3.1

They are two version of same artifact (link): image

Following dependency seems to cause the error (link) and can be safely removed (running fine after excluding it from dependencies for us):

    <dependency> 
      <groupId>asm</groupId>  
      <artifactId>asm-commons</artifactId>  
      <version>3.3.1</version> 
    </dependency>  

sukolenvo avatar Nov 05 '21 06:11 sukolenvo

Updated the asm-commons from 3.3.1 to 9.3 version and byte-buddy dependency file

chahatjl avatar Jun 04 '23 14:06 chahatjl