我正在从 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/