java - 无法初始化类 org.apache.poi.poifs.filesystem.FileMagic

标签 java excel jsp servlets apache-poi

上传.xlsx时出现java.lang.NoClassDefFoundError:无法初始化类org.apache.poi.poifs.filesystem.FileMagic并且上传.xls文件时出现错误java.io.IOException:无法读取整个 header ;读取 0 字节;预计 512 字节

在创建一个Web应用程序时,我正在上传一个Excel并获取其数据,通过使用行和单元格索引号将其添加到MySQL数据库中,它工作正常,但是在将Web应用程序上传到服务器后,它显示错误,而我我正在上传 excel 以获取数据并将这些数据添加到 mysql 数据库。 我的代码位于链接

<小时/>

下面是错误:上传 .xlsx 文件时

<小时/>

类型异常报告

消息 Servlet 执行抛出异常

描述服务器遇到意外情况,无法满足请求。

异常

javax.servlet.ServletException:Servlet 执行抛出异常 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 根本原因

java.lang.NoClassDefFoundError:无法初始化类 org.apache.poi.poifs.filesystem.FileMagic org.apache.poi.openxml4j.opc.internal.ZipHelper.openZipStream(ZipHelper.java:208) org.apache.poi.openxml4j.opc.ZipPackage。(ZipPackage.java:98) org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:324) org.apache.poi.util.PackageHelper.open(PackageHelper.java:37) org.apache.poi.xssf.usermodel.XSSFWorkbook。(XSSFWorkbook.java:295) com.filetwo.doPost(filetwo.java:131) javax.servlet.http.HttpServlet.service(HttpServlet.java:661) javax.servlet.http.HttpServlet.service(HttpServlet.java:742) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 注意服务器日志中提供了根本原因的完整堆栈跟踪。

<小时/>

但是当我上传 .xls 文件时,我收到错误,我收到以下错误

<小时/>

HTTP 状态 500?内部服务器错误 类型异常报告

消息无法读取整个 header ;读取 0 字节;预计 512 字节

描述服务器遇到意外情况,无法满足请求。

异常

java.io.IOException:无法读取整个 header ;读取 0 字节;预计 512 字节 org.apache.poi.poifs.storage.HeaderBlock.alertShortRead(HeaderBlock.java:226) org.apache.poi.poifs.storage.HeaderBlock.readFirst512(HeaderBlock.java:207) org.apache.poi.poifs.storage.HeaderBlock.(HeaderBlock.java:104) org.apache.poi.poifs.filesystem.POIFSFileSystem.(POIFSFileSystem.java:138) org.apache.poi.hssf.usermodel.HSSFWorkbook。(HSSFWorkbook.java:322) org.apache.poi.hssf.usermodel.HSSFWorkbook。(HSSFWorkbook.java:303) com.filetwo.doPost(filetwo.java:542) javax.servlet.http.HttpServlet.service(HttpServlet.java:661) javax.servlet.http.HttpServlet.service(HttpServlet.java:742) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 注意服务器日志中提供了根本原因的完整堆栈跟踪。

最佳答案

您的本地/开发环境似乎与服务器环境不同步。

该错误表明您的程序所依赖的类未在类路径中找到。由于这适用于您的本地/开发环境,请确保服务器环境具有与您的本地/开发环境相同的 jar 集。

关于java - 无法初始化类 org.apache.poi.poifs.filesystem.FileMagic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49771389/

相关文章:

java - Spring Security - 为什么我无法登录我的应用程序?

java - 以编程方式确定耳机插孔的位置

php - 使用 Spout 写入从 Excel 读取的数据失败

EXCEL 数据透视表未显示所有月份

java - 如何在 JSP 中转义特殊的 HTML 字符?

java - 如何在jsp中以表格格式打印二维数组

java - Minecraft 模组 - 如何在服务器端使用 setBlock?

java - 如何对依赖于springBoot applicationContext的方法进行单元测试?

VBA 用数据识别第一行和最后一行

javascript - 在外部 JavaScript 文件中调用 session 变量