提卡(Tika):原因:java.lang.NoSuchMethodError:org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg / apache / xmlbeans / XmlOptions

时间:2019-04-29 09:59:33

标签: apache-poi jersey-2.0 apache-tika xmlbeans tika-server

我正在使用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));
    }

有人可以帮助我解决此问题吗?

谢谢, 贾亚拉姆

0 个答案:

没有答案