You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Tika 2.9.2出现NoSuchMethodError问题求助

问题:Apache Tika 2.9.2解析HTML时抛出NoSuchMethodError异常

开发环境:

  • SpringBoot: 3.2.4
  • Java: JDK 17

我的pom依赖参考Apache Tika 2.9.2官方文档配置,依赖树如下:

<dependency>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-core</artifactId>
  <version>2.9.2</version>
</dependency>
<!-- Uses commons-compress lib with version 1.26.1 -->
<dependency>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-parsers-standard-package</artifactId>
  <version>2.9.2</version>
</dependency>
<!-- Uses commons-compress lib with version 1.24.0 -->
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <scope>test</scope>
  <version>4.13.2</version>
</dependency>
<!-- Uses commons-compress lib with version 1.24.0 -->
<dependency>
  <groupId>org.testcontainers</groupId>
  <artifactId>testcontainers</artifactId>
  <scope>test</scope>
  <version>1.19.7</version>
</dependency>

调用Tika解析HTML内容时抛出异常,代码如下:

String htmlFile = "<!DOCTYPE html><html><head><!-- HTML Codes by Quackit.com --><title></title><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><style>body {background-color:#ffffff;background-repeat:no-repeat;background-position:top left;background-attachment:fixed;}h1{font-family:Arial, sans-serif;color:#000000;background-color:#ffffff;}p {font-family:Georgia, serif;font-size:14px;font-style:normal;font-weight:normal;color:#000000;background-color:#ffffff;}</style></head><body><h1>test</h1><p>test2</p></body></html>";

Tika tika = new Tika();

// 抛出异常
text = tika.parseToString(TikaInputStream.get(htmlFile.getBytes())); 

// 同样抛出异常
text = tika.parseToString(new ByteArrayInputStream(htmlFile.getBytes()));

异常堆栈信息:

java.lang.NoSuchMethodError: 'org.apache.commons.compress.archivers.tar.TarArchiveEntry org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextEntry()'
at org.apache.tika.detect.zip.TikaArchiveStreamFactory.detect(TikaArchiveStreamFactory.java:293) ~[tika-parser-zip-commons-2.9.2.jar:2.9.2]
at org.apache.tika.detect.zip.DefaultZipContainerDetector.detectArchiveFormat(DefaultZipContainerDetector.java:124) ~[tika-parser-zip-commons-2.9.2.jar:2.9.2]
at org.apache.tika.detect.zip.DefaultZipContainerDetector.detect(DefaultZipContainerDetector.java:175) ~[tika-parser-zip-commons-2.9.2.jar:2.9.2]
at org.apache.tika.detect.CompositeDetector.detect(CompositeDetector.java:84) ~[tika-core-2.9.2.jar:2.9.2]
at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:177) ~[tika-core-2.9.2.jar:2.9.2]
at org.apache.tika.Tika.parseToString(Tika.java:525) ~[tika-core-2.9.2.jar:2.9.2]
at org.apache.tika.Tika.parseToString(Tika.java:495) ~[tika-core-2.9.2.jar:2.9.2]
at org.apache.tika.Tika.parseToString(Tika.java:557) ~[tika-core-2.9.2.jar:2.9.2]
at ... -> tika.parseToString(...

尝试另一种解析方式,仍抛出相同异常:

AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
parser.parse(TikaInputStream.get(htmlFile.getBytes()), handler, metadata);
text = handler.toString();

切换到Tika 2.9.1版本时一切正常,但我希望使用无漏洞的最新版本。移除tika-parsers-standard-package依赖后,解析不再报错,但因缺少HTML解析器返回空文本。请问这是Tika的库bug还是我的配置有误?

内容的提问来源于stack exchange,提问作者Marek Bernád

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 23:32:09