我正在使用tika-app-1.20.jar库创建REST服务。试图解析.xlsx文件。当我在本地jvm中运行该程序时,该程序正在运行,创建WAR并在服务器中进行部署时,该程序无法正常工作。
遇到错误。
]] ServletException的根本原因。 org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg / apache / xmlbeans / XmlOptions; 在 org.glassfish.jersey.servlet.internal.ResponseWriter.rethrow(ResponseWriter.java:278) 在 org.glassfish.jersey.servlet.internal.ResponseWriter.failure(ResponseWriter.java:260) 在 org.glassfish.jersey.server.ServerRuntime $ Responder.process(ServerRuntime.java:509) 在 org.glassfish.jersey.server.ServerRuntime $ 2.run(ServerRuntime.java:334) 在org.glassfish.jersey.internal.Errors $ 1.call(Errors.java:271) 被截断了。有关完整的堆栈跟踪,请参阅日志文件。 java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg / apache / xmlbeans / XmlOptions; 在 org.apache.poi.ooxml.POIXMLTypeLoader。(POIXMLTypeLoader.java:43) 在 org.apache.poi.ooxml.POIXMLProperties。(POIXMLProperties.java:82) 在 org.apache.poi.xssf.extractor.XSSFEventBasedExcelExtractor。(XSSFEventBasedExcelExtractor.java:80) 在 org.apache.poi.ooxml.extractor.ExtractorFactory.createExtractor(ExtractorFactory.java:215) 在 com.multifonds.parser.OOXMLExtractorFactory.parse(OOXMLExtractorFactory.java:125) 被截断了。请参阅日志文件以获取完整的stacktrace
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
System.out.println("In isMacrosExists : ");
ParseContext context = new ParseContext();
// OOXml parser
OOXMLParser msofficeparser = new OOXMLParser();
msofficeparser.parse(inputStream, handler, metadata, context);
System.out.println("Contents of the document:" + handler.toString());
System.out.println("Metadata of the document:");
String[] metadataNames = metadata.names();
for (String name : metadataNames) {
System.out.println(name + ": " + metadata.get(name));
}
有人可以帮助我解决此问题吗?
谢谢, 贾亚拉姆