quarkus一直报错 java.lang.ClassCastException: org.apache.xmlbeans.impl.values.XmlComplexContentImpl cannot be cast to org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook

报错信息如下

 java.lang.ClassCastException: org.apache.xmlbeans.impl.values.XmlComplexContentImpl cannot be cast to org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook
        at org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook$Factory.newInstance(Unknown Source)
        at org.apache.poi.xssf.usermodel.XSSFWorkbook.onWorkbookCreate(XSSFWorkbook.java:462)
        at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:265)
        at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:259)
        at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:247)
        at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:241)
        at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:211)
        at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:186)
        at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:273)
        at com.flyread.lcs3.util.ExcelExportUtil.exportToExcel(ExcelExportUtil.java:38)
        at com.flyread.lcs3.controller.LibUtilExportController.unusedCodes(LibUtilExportController.java:65)
        at com.flyread.lcs3.controller.LibUtilExportController_Subclass.unusedCodes$$superforward1(Unknown Source)
        at com.flyread.lcs3.controller.LibUtilExportController_Subclass$$function$$1.apply(Unknown Source)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
        at com.flyread.lcs3.quarkus.interceptor.BodyCheckInterceptor.checkContext(BodyCheckInterceptor.java:56)
        at com.flyread.lcs3.quarkus.interceptor.BodyCheckInterceptor_Bean.intercept(Unknown Source)
        at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
        at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
        at com.flyread.lcs3.controller.LibUtilExportController_Subclass.unusedCodes(Unknown Source)
        at com.flyread.lcs3.controller.LibUtilExportController$quarkusrestinvoker$unusedCodes_e41c7cc36ea6bd0057eb60b8a0d1bbba764b1766.invoke(Unknown Source)
        at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
        at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:7)
        at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:141)
        at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:548)
        at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
        at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
        at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:829)
        at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:597)
        at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:194)

因为是quarkus的项目,我一开始怀疑是quarkus的兼容问题,我尝试过使用quarkus-poi,以及xmlbeans的兼容版本,但是还是不行,问了deepseek

 换了几种提示词,然后我尝试用HSSFWorkbook可以下载xls,虽然只能6w多行,那也够用了,

还有一种办法没试出来,我觉得问题出在quarkus的反射上,因为springboot是没问题的,所以可以配置quarkus的反射配置文件里设置
再就是用官方的quarkus-poi,也没试过来

posted @ 2025-04-01 11:33  小飞fei  阅读(81)  评论(0)    收藏  举报