我正在使用 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) at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:334) at 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. com.multifonds.parser.OOXMLExtractorFactory.parse(OOXMLExtractorFactory.java:125) 处的 apache.poi.ooxml.extractor.ExtractorFactory.createExtractor(ExtractorFactory.java:215) 被截断。查看日志文件以获取完整的堆栈跟踪 parse(OOXMLExtractorFactory.java:125) 被截断。查看日志文件以获取完整的堆栈跟踪 parse(OOXMLExtractorFactory.java:125) 被截断。查看日志文件以获取完整的堆栈跟踪
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));
}
有人可以帮我解决这个问题吗?
谢谢,贾亚拉姆