一、問題產生的原因:
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,問題解決!