【发布时间】:2019-11-22 22:21:33
【问题描述】:
我正在处理的项目有一个使用 Tika 的 WebUI (WAR) 和另一个也使用 Tika 的应用程序 (JAR)。 两者都有相同的代码:
Tika t = new Tika();
String detectedType = t.detect(fileName);
然而,每一个都返回不同的结果。
我使用了https://cwiki.apache.org/confluence/display/tika/Troubleshooting%20Tika#TroubleshootingTika-TroubleshootingApacheTika 的 Tika 故障排除技巧
在我看到的 WebUI 中
Tika version: Apache Tika 1.22
Tika detector type org.apache.tika.detect.OverrideDetector
Tika detector type org.apache.tika.parser.microsoft.POIFSContainerDetector
Tika detector type org.apache.tika.parser.pkg.ZipContainerDetector
Tika detector type org.gagravarr.tika.OggDetector
Tika detector type org.apache.tika.mime.MimeTypes
在我看到的应用程序中
Tika version: Apache Tika 1.22
Tika detector type org.apache.tika.mime.MimeTypes
我是 Java WAR 和 JAR 的新手,但该项目似乎具有正确的依赖关系, 但我不明白为什么这两个会得到不同的默认检测器列表。
我应该在哪里寻找这两者在使用 Tika 的方式之间的区别?
【问题讨论】:
-
Apache Tika 由几个 jars 和一大堆依赖项组成,确保它们都包含在这两个地方!
-
这些依赖项是否记录在某处?我跑了
mvn dependency:copy-dependencies,但复制了 150 多个 JAR。我应该包括所有这些吗?构建 WAR 并不直接包含其中的大多数,因此可能间接包含了一些。 -
如果你想使用所有的Apache Tika,你需要所有的依赖,是的!
标签: java apache-tika