bmc / classutil

Scala-friendly, fast class-finder library (using ASM under the covers)
http://software.clapper.org/classutil/
Other
92 stars 29 forks source link

java.lang.UnsupportedOperationException: This feature requires ASM7 #45

Open markosski opened 2 years ago

markosski commented 2 years ago

Hi. I'm doing class lookup on list of jars from Spring application and getting bellow error.
asm-7.1.jar is available in list of jars I'm loading.

classutils: 1.5.0 Java version: 1.8.0_265

java.lang.UnsupportedOperationException: This feature requires ASM7
        at org.objectweb.asm.ClassVisitor.visitNestHost(ClassVisitor.java:150)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:550)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:400)
        at org.clapper.classutil.asm.ClassFile$.load(ClassFinderImpl.scala:224)
        at org.clapper.classutil.ClassFinder.classData(ClassFinder.scala:404)
        at org.clapper.classutil.ClassFinder.$anonfun$processOpenZip$2(ClassFinder.scala:359)
        at scala.collection.Iterator$$anon$10.next(Iterator.scala:461)
        at scala.collection.Iterator$$anon$11.nextCur(Iterator.scala:486)
        at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:492)
        at scala.collection.Iterator.toStream(Iterator.scala:1417)
        at scala.collection.Iterator.toStream$(Iterator.scala:1416)
        at scala.collection.AbstractIterator.toStream(Iterator.scala:1431)
        at scala.collection.Iterator.$anonfun$toStream$1(Iterator.scala:1417)
        at scala.collection.immutable.Stream$Cons.tail(Stream.scala:1173)
        at scala.collection.immutable.Stream$Cons.tail(Stream.scala:1163)
        at scala.collection.immutable.Stream.$anonfun$$plus$plus$1(Stream.scala:372)
        at scala.collection.immutable.Stream$Cons.tail(Stream.scala:1173)
        at scala.collection.immutable.Stream$Cons.tail(Stream.scala:1163)
        at scala.collection.immutable.Stream.$anonfun$$plus$plus$1(Stream.scala:372)
        at scala.collection.immutable.Stream$Cons.tail(Stream.scala:1173)
        at scala.collection.immutable.Stream$Cons.tail(Stream.scala:1163)
        at scala.collection.immutable.StreamIterator.$anonfun$next$1(Stream.scala:1061)
        at scala.collection.immutable.StreamIterator$LazyCell.v$lzycompute(Stream.scala:1050)
        at scala.collection.immutable.StreamIterator$LazyCell.v(Stream.scala:1050)
        at scala.collection.immutable.StreamIterator.hasNext(Stream.scala:1055)
        at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:460)
        at scala.collection.Iterator.foreach(Iterator.scala:943)
        at scala.collection.Iterator.foreach$(Iterator.scala:943)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
        at scala.collection.generic.Growable.$plus$plus$eq(Growable.scala:62)
        at scala.collection.generic.Growable.$plus$plus$eq$(Growable.scala:53)
        at scala.collection.immutable.Map$MapBuilderImpl.$plus$plus$eq(Map.scala:648)
        at scala.collection.immutable.Map$MapBuilderImpl.$plus$plus$eq(Map.scala:595)
        at scala.collection.TraversableOnce.toMap(TraversableOnce.scala:372)
        at scala.collection.TraversableOnce.toMap$(TraversableOnce.scala:370)
        at scala.collection.AbstractIterator.toMap(Iterator.scala:1431)
        at org.clapper.classutil.ClassFinder$.classInfoMap(ClassFinder.scala:445)
        at org.clapper.classutil.ClassFinder$.classInfoMap(ClassFinder.scala:453)
oliverbrylle commented 8 months ago

I'm getting the same issue, any suggested fix? All asm-7.1 jars are available.

classUtil: 1.5.1 java: 1.8.0_392

aarushi860 commented 7 months ago

it can be fixed by passing it explicitly ASM7 ClassFinder(maybeOverrideAsmVersion=Some(Opcodes.ASM7))