java.lang.reflect.InvocationTargetException

记录碰到的问题,避免下次再犯

当时做的是一个excel上传下载的功能,做的时候引用的是tomcat 7下自带的jar,引用如下:

import org.apache.tomcat.util.http.fileupload.FileItem;
import org.apache.tomcat.util.http.fileupload.FileUpload;
import org.apache.tomcat.util.http.fileupload.RequestContext;
import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory;
import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;
import org.apache.tomcat.util.http.fileupload.servlet.ServletRequestContext;

我把项目部署到服务器上面以后,功能不能正常使用了报错如下:

InvocationTargetException 是一种包装由调用方法或构造方法所抛出异常的受查异常。

报错中明确指出了找不到引用的类 Caused by: java.lang.ClassNotFoundException:org.apache.tomcat.util.http.fileupload.RequestContext 

后面查了一下服务器上tomcat的版本,比我本地的tomcat低了2个版本(内心都崩溃了...),

重新引入外部jar包:commons-fileupload-1.3.1.jar 和 commons-io-1.3.2.jar

修改了对应的一些引用就好了

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.RequestContext;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.servlet.ServletRequestContext;

原文地址:https://www.cnblogs.com/Jenny-sider/p/5344833.html