上传.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/