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

时间:2018-04-11 09:27:57

标签: java excel jsp servlets apache-poi

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

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

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

类型例外报告

Message 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?内部服务器错误 输入例外报告

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

描述服务器遇到意外情况,导致无法完成请求。

异常

java.io.IOException:无法读取整个标头; 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) 注意服务器日志中提供了根本原因的完整堆栈跟踪。

1 个答案:

答案 0 :(得分:2)

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

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