com.alibaba.excel.exception.ExcelGenerateException: java.lang.VerifyError: class net.sf.cglib.core.DebuggingClassWriter overrides final method visit.(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
at com.alibaba.excel.write.ExcelBuilderImpl.addContent(ExcelBuilderImpl.java:64)
at com.alibaba.excel.ExcelWriter.write(ExcelWriter.java:161)
at com.alibaba.excel.ExcelWriter.write(ExcelWriter.java:146)
at com.alibaba.excel.write.builder.ExcelWriterSheetBuilder.doWrite(ExcelWriterSheetBuilder.java:61)
异常描述
使用Alibaba的easyExcel在请求导出文件接口出现以下的异常。
Caused by:java.lang.VerifyError:class net.sf.cglib.core.DebuggingClassWriter overrides final method visit.(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
异常分析
概念:EasyExcel依赖asm;asm依赖cglib。所以需要选择对应的版本号。
解决方案
1.引入maven坐标;
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>x.x</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>x.x</version>
</dependency>
2.提供版本配对的坐标;
依赖坐标 | easyExcel | asm | cglib | lombok |
---|---|---|---|---|
依赖版本号 | 3.1.x | x | x | 1.18.20 |
3.0.x | 7.1 | 3.3.0 | 1.18.20 | |
2.2.x | 4.2 | 3.1 | 1.18.8 | |
2.1.x | 4.2 | 3.1 | 1.18.8 | |
2.0.x | 4.2 | 3.1 | 1.18.8 |