Easyexcel2.2.6遇到 class net.sf.cglib.core.DebuggingClassWriter has interface org.objectweb.asm.ClassVisitor as super class的问题

一、问题产生的原因:

    maven项目中使用了两个asm包。为什么maven中可以存在两个版本的相同jar包?原来3.3.1版本之后,asm迁移了:

Easyexcel2.2.6遇到 class net.sf.cglib.core.DebuggingClassWriter has interface org.objectweb.asm.ClassVisitor as super class的问题

 

 

 

 所以他们的groupId是不一样的,自然可以同时存在。如果项目中同时存在两个jar包,自然会引发一些莫名其妙的bug了。

com.alibaba.excel.exception.ExcelGenerateException: java.lang.IncompatibleClassChangeError: class net.sf.cglib.core.DebuggingClassWriter has  interface org.objectweb.asm.ClassVisitor as  super class

  

 

二、解决冲突

在idea的show dependencies功能中可以看到,有两个版本的asm。一个是3.3.1的,一个是4.1的。4.1的是当前spring使用的,所以尽量不要动他。

而3.1的引用来自于repid-core,他的版本比较老,使用的还是3.3.1 asmjar包。

Easyexcel2.2.6遇到 class net.sf.cglib.core.DebuggingClassWriter has interface org.objectweb.asm.ClassVisitor as super class的问题

 目前有两个选择:

1、使用更高的repid-core版本,看其是否使用高于3.3.1版本的asm包。

2、在pom中去掉rapid-core

 

OK,问题解决!

 

Easyexcel2.2.6遇到 class net.sf.cglib.core.DebuggingClassWriter has interface org.objectweb.asm.ClassVisitor as super class的问题

上一篇:ASP.NET CORE


下一篇:频繁调sockjs-node/info解决方案