Servlets java.lang.NoClassDefFoundError:org/apache/commons/lang3/ObjectUtils

Servlets java.lang.NoClassDefFoundError:org/apache/commons/lang3/ObjectUtils,servlets,noclassdeffounderror,opencsv,Servlets,Noclassdeffounderror,Opencsv,我正在尝试编写一个非常简单的servlet,它必须从csv文件中提取数据并显示结果,下面是代码: Reader reader = new FileReader(filePath); CSVReader csvReader = new CSVReader(reader); String[] data; PrintWriter out = response.getWriter(); response.setContentType("tex

我正在尝试编写一个非常简单的servlet,它必须从csv文件中提取数据并显示结果,下面是代码:

      Reader reader = new FileReader(filePath);
      CSVReader csvReader = new CSVReader(reader);
      String[] data;
      PrintWriter out = response.getWriter();

      response.setContentType("text/html");
      while((data = csvReader.readNext()) != null){
        //do something
      }
但后来我收到了这个日志:

类型异常报告

消息Servlet执行引发异常

说明服务器遇到意外情况,导致 阻止它满足请求

例外情况

javax.servlet.ServletException:servlet执行引发异常 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

根本原因

java.lang.NoClassDefFoundError:org/apache/commons/lang3/ObjectUtils CSVParser.com.opencsv.CSVParser(CSVParser.java:209) CSVReader.com.opencsv.CSVReader(CSVReader.java:196) CSVReader.com.opencsv.CSVReader.(CSVReader.java:178) CSVReader.com.opencsv.CSVReader.(CSVReader.java:130) CSVReader.com.opencsv.CSVReader(CSVReader.java:70) 类doGet(类java:19) javaservlet.http.HttpServlet.service(HttpServlet.java:634) javaservlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

根本原因的完整堆栈跟踪在服务器中可用 日志

我设置了tomcat websocket类路径,并在WEB-INF的lib目录中复制了jar文件,但这些文件都不受影响。
这个问题是在我们制作CSVReader类时提出的。有人需要帮助吗?

你是说你有用于opencsv的jar文件,但是你有用于依赖项的jar文件吗?Opencsv依赖于两到三个apache commons库,具体取决于您使用的Opencsv版本。最新版本的依赖项可在上找到


如果您使用maven或gradle构建项目,您应该在war文件中包含这些依赖项。你是如何构建/部署你的应用程序的?

不要在此处发布文本图片。张贴文本。您需要包含异常中提到的缺少类的JAR文件。不神秘。正如我提到的,我已经有jar文件了。没有改变…是的,我有依赖关系。特别是在这种情况下,它找不到ObjectUtils类,我检查了正确的jar文件是否存在,类路径是否设置了。