QuickBooks-V3-Java-SDK
QuickBooks-V3-Java-SDK copied to clipboard
Class loading error in DevKit
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):

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>
Updated the asm-commons from 3.3.1 to 9.3 version and byte-buddy dependency file