这个报错有很多原因,最重要的是要看你的causedBy后边是什么,比如我的这个完整的异常栈信息是:

com.alibaba.excel.exception.ExcelGenerateException: java.lang.ExceptionInInitializerError
	at com.alibaba.excel.write.ExcelBuilderImpl.addContent(ExcelBuilderImpl.java:65) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.ExcelWriter.write(ExcelWriter.java:73) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.ExcelWriter.write(ExcelWriter.java:50) ~[easyexcel-3.0.5.jar:?]
	at com.yuanfudao.megrez.bizshop.admin.job.SalaryCalculateJob.execute(SalaryCalculateJob.java:100) ~[classes/:?]
	at integration.SalaryCalJobTest.jobTest(SalaryCalJobTest.java:19) ~[test-classes/:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_402]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_402]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_402]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_402]
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) ~[junit-4.12.jar:4.12]
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.12.jar:4.12]
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) ~[junit-4.12.jar:4.12]
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.12.jar:4.12]
	at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) ~[spring-test-4.3.11.RELEASE.jar:4.3.11.RELEASE]
	at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) ~[spring-test-4.3.11.RELEASE.jar:4.3.11.RELEASE]
	at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) ~[spring-test-4.3.11.RELEASE.jar:4.3.11.RELEASE]
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) ~[junit-4.12.jar:4.12]
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252) ~[spring-test-4.3.11.RELEASE.jar:4.3.11.RELEASE]
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94) ~[spring-test-4.3.11.RELEASE.jar:4.3.11.RELEASE]
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) ~[junit-4.12.jar:4.12]
	at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) ~[spring-test-4.3.11.RELEASE.jar:4.3.11.RELEASE]
	at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) ~[spring-test-4.3.11.RELEASE.jar:4.3.11.RELEASE]
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363) ~[junit-4.12.jar:4.12]
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) ~[spring-test-4.3.11.RELEASE.jar:4.3.11.RELEASE]
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.12.jar:4.12]
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) ~[junit-rt.jar:?]
	at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) ~[junit-rt.jar:?]
	at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) ~[idea_rt.jar:?]
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) ~[junit-rt.jar:?]
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) ~[junit-rt.jar:?]
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) ~[junit-rt.jar:?]
Caused by: java.lang.ExceptionInInitializerError
	at com.alibaba.excel.util.BeanMapUtils.create(BeanMapUtils.java:26) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.executor.ExcelWriteAddExecutor.addJavaObjectToExcel(ExcelWriteAddExecutor.java:144) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.executor.ExcelWriteAddExecutor.addOneRowOfDataToExcel(ExcelWriteAddExecutor.java:82) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.executor.ExcelWriteAddExecutor.add(ExcelWriteAddExecutor.java:58) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.ExcelBuilderImpl.addContent(ExcelBuilderImpl.java:59) ~[easyexcel-3.0.5.jar:?]
	... 34 more
Caused by: java.lang.IllegalStateException: Unable to load cache item
	at net.sf.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:79) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:119) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:294) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:221) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:174) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:157) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:149) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.beans.BeanMap$Generator.<clinit>(BeanMap.java:66) ~[cglib-3.3.0.jar:?]
	at com.alibaba.excel.util.BeanMapUtils.create(BeanMapUtils.java:26) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.executor.ExcelWriteAddExecutor.addJavaObjectToExcel(ExcelWriteAddExecutor.java:144) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.executor.ExcelWriteAddExecutor.addOneRowOfDataToExcel(ExcelWriteAddExecutor.java:82) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.executor.ExcelWriteAddExecutor.add(ExcelWriteAddExecutor.java:58) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.ExcelBuilderImpl.addContent(ExcelBuilderImpl.java:59) ~[easyexcel-3.0.5.jar:?]
	... 34 more
Caused by: java.lang.IncompatibleClassChangeError: class net.sf.cglib.core.DebuggingClassWriter has interface org.objectweb.asm.ClassVisitor as super class
	at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_402]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:757) ~[?:1.8.0_402]
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_402]
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:473) ~[?:1.8.0_402]
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_402]
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_402]
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_402]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_402]
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_402]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:419) ~[?:1.8.0_402]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) ~[?:1.8.0_402]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:352) ~[?:1.8.0_402]
	at net.sf.cglib.core.DefaultGeneratorStrategy.getClassVisitor(DefaultGeneratorStrategy.java:30) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:332) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:96) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:94) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54) ~[cglib-3.3.0.jar:?]
	at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_402]
	at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_402]
	at net.sf.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:119) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:294) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:221) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:174) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:157) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:149) ~[cglib-3.3.0.jar:?]
	at net.sf.cglib.beans.BeanMap$Generator.<clinit>(BeanMap.java:66) ~[cglib-3.3.0.jar:?]
	at com.alibaba.excel.util.BeanMapUtils.create(BeanMapUtils.java:26) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.executor.ExcelWriteAddExecutor.addJavaObjectToExcel(ExcelWriteAddExecutor.java:144) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.executor.ExcelWriteAddExecutor.addOneRowOfDataToExcel(ExcelWriteAddExecutor.java:82) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.executor.ExcelWriteAddExecutor.add(ExcelWriteAddExecutor.java:58) ~[easyexcel-3.0.5.jar:?]
	at com.alibaba.excel.write.ExcelBuilderImpl.addContent(ExcelBuilderImpl.java:59) ~[easyexcel-3.0.5.jar:?]
	... 34 more

可以发现这里的报错是cglib相关的.但是我的包里有cglib,进一步查阅得知是asm或者cglib版本冲突,在自己的pom依赖寻找,发现引入的haddop依赖里边也引用了asm,版本号是3.1,而easyexcel是7.1,只需要把hadoop里边的依赖去掉即可。
这种exception还有其他causedby,可以参考网上其他文章

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐