intuit / intuit/QuickBooks-V3-Java-SDK

Class loading error in DevKit

Offen
#175 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
88
Forks
158
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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.(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](https://mvnrepository.com/artifact/asm/asm)):
![image](https://user-images.githubusercontent.com/25821770/140466984-c6906d93-a86a-4870-a4d4-d66fdae4a34d.png)

Following dependency seems to cause the error ([link](https://github.com/intuit/QuickBooks-V3-Java-SDK/blob/develop/ipp-v3-java-devkit/pom.xml#L52-L56)) and can be safely removed (running fine after excluding it from dependencies for us):
```xml

asm
asm-commons
3.3.1

```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Inspect ipp-v3-java-devkit/pom.xml around lines 52-56 and compare the dependency tree shown in the issue. Verify the DevKit's resolved ASM dependencies and class-loading behavior; done means the conflicting asm-commons dependency is no longer pulled in and the reported DevKit startup path loads successfully.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
backend
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.