一、该问题的重现步骤是什么?
1. boot版本导出时报错{"msg":"java.lang.NoClassDefFoundError: org/apache/commons/io/output/UnsynchronizedByteArrayOutputStream","code":500,"data":null,"success":false}
2. 然后更新了commons-io版本至2.15.1可以导出了
3.但是导入时仍然报错java.lang.NoSuchMethodError: 'org.apache.commons.io.input.BoundedInputStream$Builder org.apache.commons.io.input.BoundedInputStream.builder()'
这里贴上pom.xml
<>
<>4.0.0</>
<>org.springblade</>
<>SpringBlade</>
<>jar</>
<>4.7.0</>
<>
<>4.7.0</>
<>17</>
<>3.11.0</>
<>192.168.186.129</>
<>http://${docker.registry.url}:2375</>
<>1.2.0</>
</>
<>
<>
<>
<>org.springblade</>
<>blade-core-bom</>
<>${blade.tool.version}</>
<>pom</>
<>import</>
</>
<>
<>commons-io</>
<>commons-io</>
<>2.15.1</>
</>
<>
<>org.springblade</>
<>blade-core-boot</>
<>${blade.tool.version}</>
<>
<>
<>org.springblade</>
<>blade-core-cloud</>
</>
</>
</>
</>
</>
<>
<>
<>org.springblade</>
<>blade-core-boot</>
</>
<>
<>org.springblade</>
<>blade-starter-develop</>
</>
<>
<>org.springblade</>
<>blade-starter-oss</>
</>
<>
<>org.springblade</>
<>blade-starter-report</>
</>
<>
<>org.springblade</>
<>blade-starter-social</>
</>
<>
<>org.springblade</>
<>blade-starter-datascope</>
</>
<>
<>org.springblade</>
<>blade-starter-excel</>
</>
<>
<>com.github.xiaoymin</>
<>knife4j-openapi3-ui</>
</>
<>
<>com.github.whvcse</>
<>easy-captcha</>
</>
<>
<>org.projectlombok</>
<>lombok</>
<>provided</>
</>
<>
<>org.springblade</>
<>blade-core-test</>
<>test</>
</>
<>
<>cn.hutool</>
<>hutool-all</>
<>5.8.25</>
</>
<>
<>com.jcraft</>
<>jsch</>
<>0.1.55</>
</>
<>
<>commons-io</>
<>commons-io</>
</>
</>
<>
<>SpringBlade</>
<>
<>
<>src/main/resources</>
</>
<>
<>src/main/java</>
<>
<>**/*.xml</>
</>
</>
</>
<>
<>
<>
<>org.springframework.boot</>
<>spring-boot-maven-plugin</>
<>3.2.10</>
<>
<>${project.build.finalName}</>
</>
<>
<>
<>
<>repackage</>
</>
</>
</>
</>
<>
<>com.spotify</>
<>docker-maven-plugin</>
<>${docker.plugin.version}</>
<>
<>${docker.registry.url}/blade/${project.artifactId}:${project.version}</>
<>${project.basedir}</>
<>${docker.registry.host}</>
<>
<>
<>/</>
<>${project.build.directory}</>
<>${project.build.finalName}.jar</>
</>
</>
<>${docker.registry.url}</>
<>${docker.registry.url}</>
<>true</>
</>
</>
</>
</>
<>
<>
<>org.springframework.boot</>
<>spring-boot-maven-plugin</>
</>
<>
<>maven-compiler-plugin</>
<>${maven.plugin.version}</>
<>
<>${java.version}</>
<>${java.version}</>
<>UTF-8</>
<>
<>-parameters</>
</>
</>
</>
</>
</>
<>
<>
<>aliyun-repos</>
<>https://maven.aliyun.com/nexus/content/groups/public/</>
<>
<>false</>
</>
</>
</>
<>
<>
<>aliyun-plugin</>
<>https://maven.aliyun.com/nexus/content/groups/public/</>
<>
<>false</>
</>
</>
</>
</>二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
boot版本4.7 windows
四、请提供详细的错误堆栈信息,这很重要。
2025-12-20 11:17:58.948 ERROR 8080 --- [ XNIO-1 task-2] o.s.c.l.e.BladeRestExceptionTranslator : 服务器异常
cn.idev.excel.exception.ExcelAnalysisException: java.lang.NoSuchMethodError: 'org.apache.commons.io.input.BoundedInputStream$Builder org.apache.commons.io.input.BoundedInputStream.builder()'
at cn.idev.excel.analysis.ExcelAnalyserImpl.<init>(ExcelAnalyserImpl.java:76)
at cn.idev.excel.ExcelReader.<init>(ExcelReader.java:27)
at cn.idev.excel.read.builder.ExcelReaderBuilder.build(ExcelReaderBuilder.java:218)
at cn.idev.excel.read.builder.ExcelReaderBuilder.doReadAll(ExcelReaderBuilder.java:222)
at org.springblade.modules.botu.masterData.controller.ProcessController.importProcess(ProcessController.java:284)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
at org.springblade.core.boot.logger.RequestLogAspect.aroundApi(RequestLogAspect.java:158)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)
at org.springblade.modules.botu.masterData.controller.ProcessController$$SpringCGLIB$$0.importProcess(<generated>)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
at org.springblade.core.tool.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:94)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271)
at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130)
at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251)
at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:896)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615)
at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.NoSuchMethodError: 'org.apache.commons.io.input.BoundedInputStream$Builder org.apache.commons.io.input.BoundedInputStream.builder()'
at org.apache.poi.util.IOUtils.peekFirstNBytes(IOUtils.java:153)
at cn.idev.excel.support.ExcelTypeEnum.recognitionExcelType(ExcelTypeEnum.java:110)
at cn.idev.excel.support.ExcelTypeEnum.valueOf(ExcelTypeEnum.java:93)
at cn.idev.excel.analysis.ExcelAnalyserImpl.chooseExcelExecutor(ExcelAnalyserImpl.java:89)
at cn.idev.excel.analysis.ExcelAnalyserImpl.<init>(ExcelAnalyserImpl.java:70)
... 94 common frames omitted
五、若有更多详细信息,请在下面提供。