在Apache Solr中使用Tika提取.docx文件会产生NoSuchMethod错误

时间:2013-02-26 17:14:44

标签: solr apache-poi

我的项目中有一个Solr 4.0模块(基本上是一个包含所有solr依赖项的maven web项目)。它工作得很好,包括内容提取和一切。

但是,当我使用.docx文档对其进行测试时,它会给我以下错误:

13:50:34,468 ERROR [org.apache.solr.servlet.SolrDispatchFilter] (http--0.0.0.0-8080-9) 
null:java.lang.RuntimeException: java.lang.NoSuchMethodError: 
org.apache.poi.openxml4j.opc.PackagePart.getRelatedPart(Lorg/apache/poi/openxml4j/opc/PackageRelationship;)
Lorg/apache/poi/openxml4j/opc/PackagePart;

我尝试手动将openxml4j依赖项添加到项目中。我已经下载了源代码并查看了它,PackagePart#getRelatedPart确实不存在。

这是什么错误?我该如何解决这个问题?

提前致谢。


修改

我注意到poi-ooxml已经有了这些类。很酷,但我也检查了这些来源,但仍然没有PackagePart课程中所需的方法。

顺便说一句:我尝试添加openxml4j版本1.0-beta

2 个答案:

答案 0 :(得分:0)

这是一个与jarhell相关的问题。

答案 1 :(得分:0)

谢谢,“jarhell related”是我需要的线索!

我的项目在导入Tika app jar之前有POI jar,其中包括自己的POI jar。我删除了独立的POI jar,然后Tika能够无误地处理DOCX Word 2013文件。

现在希望我不会遇到需要两者的情况! :|