一、问题产生的原因:
maven项目中使用了两个asm包。为什么maven中可以存在两个版本的相同jar包?原来3.3.1版本之后,asm迁移了:
所以他们的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包。
目前有两个选择:
1、使用更高的repid-core版本,看其是否使用高于3.3.1版本的asm包。
2、在pom中去掉rapid-core
OK,问题解决!