Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 提卡拉链炸弹例外_Java_Solr_Sax_Apache Tika - Fatal编程技术网

Java 提卡拉链炸弹例外

Java 提卡拉链炸弹例外,java,solr,sax,apache-tika,Java,Solr,Sax,Apache Tika,我们使用Tika 1.1从XLSM文件中提取内容。我们有两个服务器实例。在其中一台服务器上,文件内容被正确提取。但在另一台服务器上,我得到了相同文件的zip炸弹异常。我们在两个实例中使用相同的tika独立jar。但我无法确定问题所在 不确定SAX配置是否在运行时产生问题我对SAX不太熟悉。如何调试此问题 原因:org.apache.tika.exception.TikaException:检测到Zip炸弹! 位于org.apache.tika.sax.SecureContentHandler.t

我们使用Tika 1.1从XLSM文件中提取内容。我们有两个服务器实例。在其中一台服务器上,文件内容被正确提取。但在另一台服务器上,我得到了相同文件的zip炸弹异常。我们在两个实例中使用相同的tika独立jar。但我无法确定问题所在

不确定SAX配置是否在运行时产生问题我对SAX不太熟悉。如何调试此问题

原因:org.apache.tika.exception.TikaException:检测到Zip炸弹! 位于org.apache.tika.sax.SecureContentHandler.throwIfCauseOfSecureContentHandler.java:192 位于org.apache.tika.parser.AutoDetectParser.parseAutoDetectParser.java:123 org.apache.tika.tika.parseToStringTika.java:380 在com.ptc.search.solr.contentReader.contentExtraction.TikaExtractor.getContentTikaExtractor.java:36 ... 还有45个 由以下原因引起:org.apache.tika.sax.SecureContentHandler$SecureSAXException:疑似zip炸弹:878级XML元素嵌套 位于org.apache.tika.sax.SecureContentHandler.startElementSecureContentHandler.java:234 位于org.apache.tika.sax.ContentHandlerDecorator.startElementContentHandlerDecorator.java:126 位于org.apache.tika.sax.ContentHandlerDecorator.startElementContentHandlerDecorator.java:126 位于org.apache.tika.sax.ContentHandlerDecorator.startElementContentHandlerDecorator.java:126 位于org.apache.tika.sax.ContentHandlerDecorator.startElementContentHandlerDecorator.java:126 位于org.apache.tika.sax.SafeContentHandler.startElementSafeContentHandler.java:264 位于org.apache.tika.sax.XHTMLContentHandler.startElementXHTMLContentHandler.java:244 位于org.apache.tika.sax.XHTMLContentHandler.startElementXHTMLContentHandler.java:274 位于org.apache.tika.sax.XHTMLContentHandler.elementXHTMLContentHandler.java:313 位于org.apache.tika.parser.microsoft.ooxml.XSSFExcelExtractorDecorator.extractHeaderFooterXSSFExcelExtractorDecorator.java:145 位于org.apache.tika.parser.microsoft.ooxml.XSSFExcelExtractorDecorator.buildXHTMLXSSFFEXcelExtractorDecorator.java:129 位于org.apache.tika.parser.microsoft.ooxml.AbstractOOXMLExtractor.getxhtmllabstractooxmlextractor.java:104 位于org.apache.tika.parser.microsoft.ooxml.OOXMLExtractorFactory.parseOOXMLExtractorFactory.java:110 位于org.apache.tika.parser.microsoft.ooxml.OOXMLParser.parseOOXMLParser.java:82 位于org.apache.tika.parser.CompositeParser.parseCompositeParser.java:242 位于org.apache.tika.parser.CompositeParser.parseCompositeParser.java:242 位于org.apache.tika.parser.AutoDetectParser.parseAutoDetectParser.java:120 ... 47多


调试完tika代码后,我意识到我已经在WriteOutContentHandler上设置了maxStringLength,并且代码在达到限制后抛出了zip炸弹错误。正确的错误消息可能会有帮助。无论如何,谢谢大家的意见。我们肯定会计划升级到最新版本


我们是否应该在Jira中创建一个缺陷来抛出正确的错误消息

我通过安装解决了这个问题

emerge app-office/unoconv
执行

$ unoconv -fpdf file.xlsm
它将在文件的同一目录中创建一个.pdf文件,然后您可以将其发送到Tika


我的服务器是Gentoo,然后根据您的地区进行调整。

一个压缩炸弹,即一个压缩文档,它会扩展为大量提取的文本。是的,XLSM文档实际上是一个压缩文档。但我担心的是,同一个文件的内容提取在一个环境中效果很好,但在另一个环境中效果不好。我无法找出这两种环境之间的差异。有什么我需要寻找的吗?默认允许的XML嵌套级别是100,如果超过这个值,就会得到那个异常。解决方案是增加默认的maxPackageEntryDepth。最大嵌套限制可以直接在SecureContentHandler级别上设置。Tika 1.1相当旧,您为什么不使用最新版本?1.5调试完tika代码后,我意识到我已经在WriteOutContentHandler上设置了maxStringLength,并且代码在达到限制后抛出了zip炸弹错误。正确的错误消息可能会有帮助。无论如何,谢谢大家的意见。我们肯定会计划升级到最新版本。