Spring Boot 中的 Tika 解析器配置

Tika parsers configuration in SpringBoot

我在我的项目中使用了 tika 解析器。 我正在使用这个包中的三个 类:

org.apache.tika.Tika;
org.apache.tika.parser.txt.CharsetDetector;
org.apache.tika.parser.txt.CharsetMatch;

上次我从Tika 1.0升了一个版本到Tika 1.20。 然后它开始发出如下警告:

WARN  org.apache.tika.parser.SQLite3Parser : org.xerial's sqlite-jdbc is not loaded.
Please provide the jar on your classpath to parse sqlite files.
See tika-parsers/pom.xml for the correct version.

我的应用程序不需要这些依赖项,所以我尝试通过以下方式避免它: 0. 创建了一个 tika-config.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<properties>
  <service-loader initializableProblemHandler="ignore"/>
</properties>
  1. 已添加到 application.yaml tika.config 属性 以及 tika-config.xml 文件的相对和非相对路径。没用。
  2. 添加了一个 TIKA_CONFIG 环境变量。也没有用。

是否有任何其他解决方案可以消除这些警告?

您收到此警告的原因是 sqlite 不再嵌入 tika jar https://cwiki.apache.org/confluence/display/tika/SQLite%20Parser

尝试用这个排除 sql,或者添加 sqlite 依赖项

<?xml version="1.0" encoding="UTF-8"?>
<properties>
  <parsers>
    <parser class="org.apache.tika.parser.DefaultParser">
      <mime-exclude>application/sql</mime-exclude>
    </parser>
  </parsers>
</properties>

如果你想添加sqlite依赖

将此添加到您的 pom.xml

<dependency>
  <groupId>org.xerial</groupId>
  <artifactId>sqlite-jdbc</artifactId>
  <version>3.8.10.1</version> 
</dependency>