servlets - java.lang.NoClassDefFoundError : org/apache/commons/lang3/ObjectUtils

标签 servlets noclassdeffounderror opencsv

我正在尝试编写一个非常简单的 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
      }

但后来我收到了这个日志:

Type Exception Report

Message Servlet execution threw an exception

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

javax.servlet.ServletException: Servlet execution threw an exception org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

Root Cause

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

Note

The full stack trace of the root cause is available in the server logs.

我设置了 tomcat-websocket CLASSPATH 并将 jar 文件复制到 WEB-INF 的 lib 目录中,但没有一个受到影响。 当我们创建 CSVReader 类时,问题就出现了。有人帮忙吗?

最佳答案

您是说您有 opencsv 的 jar 文件,但是您有依赖项的 jar 文件吗? Opencsv 依赖于两到三个 apache commons 库,具体取决于您使用的 opencsv 版本。最新版本的依赖可以在 http://opencsv.sourceforge.net/dependencies.html 找到。

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

关于servlets - java.lang.NoClassDefFoundError : org/apache/commons/lang3/ObjectUtils,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48674928/

相关文章:

java - CSV 类未找到异常

java - 使用 open csv 时从 csv 中删除双引号

java - 在 Osgi 中以编程方式注册 ServletContainer

java - 为Web应用程序设置指定的系统属性

java.lang.NoClassDefFoundError : org/dom4j/Document 错误

java - 如何解决使用opencsv将csv转换为bean时的运行时异常空白csv文件

java - 如何使用 servlet 在 jsp 上动态生成多个 html 表?

java - GWT 应用程序无法从另一台服务器上的 Servlet 获取 HTTP 响应的问题

android - 应用程序在模拟器上运行良好,但在设备上给出 NoClassDefFoundError

java - 使用 Apache Poi 读取 Excel 时 ListValuedMap NoClassDefFoundError?