javax.servlet.ServletException : java. lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Cell

标签 java apache jsp apache-poi

我正在从 JSP 文件调用 java 类。 java 类使用 Apache POI 读取 excel 文件并将一些结果返回给 jsp 文件。我已经为 Apache POI 3.9 添加了 Maven 依赖项。该项目编译没有任何问题。但是当我运行该项目时,它抛出以下运行时异常。我知道它无法找到与 apache POI 相关的 jar,但我的 Maven 存储库中有该 jar。这里的一些见解会有所帮助。

javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Cell
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:124)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

最佳答案

如果 POI JAR 不在您部署的 WEB-INF/lib 中,Tomcat 将找不到该类。

检查您的 WAR 或分解部署以查看它是否存在。如果没有,想办法把它放在那里。

据我所知,Maven 对您没有好处。首先了解如何在没有 Maven 的情况下正确执行此操作。

关于javax.servlet.ServletException : java. lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Cell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16778777/

相关文章:

java - 在更改 Excel 中其他单元格值时更改单元格值 [通过 Apache POI 进行数据验证]

java - jsp中使用session的登录页面

jsp getServletContext() 错误

java - 将 Apache Ignite BinaryObject 与 SQL 表混合

java - 文件系统的 JNDI 服务提供者

java - com.google.common.base.Joiner.on() 出错

java - 如何使用FTP(E)S从服务器下载文件?

php - 使用php更改apache服务器的IP地址

java - 使用 jsp :param/c:param in a Portlet Environment

java - 无法在 jenkins 中编译 maven 项目,而它在 eclipse "Source option 6 is no longer supported. Use 7 or later"中运行良好