如何配置Tika的pom.xml以停止获取所有许可证依赖性警告?

问题描述 投票:4回答:3

当我尝试使用Tika时,我收到了所有这些警告:

2018年2月24日下午9:24:35 org.apache.tika.config.InitializableProblemHandler $ 3 handleInitializableProblem警告:JBIG2ImageReader未加载。将忽略jbig2文件有关​​可选的依赖项,请参阅https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io。 TIFFImageWriter未加载。将不处理tiff文件有关可选的依赖项,请参阅https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io。 J2KImageReader未加载。 JPEG2000文件将不会被处理。有关可选的依赖项,请参阅https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io

2018年2月24日下午9:24:35 org.apache.tika.config.InitializableProblemHandler $ 3 handleInitializableProblem警告:未加载org.xerial的sqlite-jdbc。请在类路径上提供jar来解析sqlite文件。有关正确的版本,请参阅tika-parsers / pom.xml。

我尝试添加这个(在Tika pom.xml中):

            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>1.57</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcmail-jdk15on</artifactId>
                <version>1.57</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcpkix-jdk15on</artifactId>
                <version>1.57</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>

            <dependency>
                <groupId>com.levigo.jbig2</groupId>
                <artifactId>levigo-jbig2-imageio</artifactId>
                <version>2.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.github.jai-imageio</groupId>
                <artifactId>jai-imageio-core</artifactId>
                <version>1.3.1</version>
                <scope>test</scope>
            </dependency>    
            <dependency>
                <groupId>com.github.jai-imageio</groupId>
                <artifactId>jai-imageio-jpeg2000</artifactId>
                <version>1.3.0</version>
                <scope>test</scope>
            </dependency>

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

但我仍然得到同样的警告。

我该如何解决这个问题?

更新1

我的依赖项添加到这里:https://github.com/apache/tika/blob/1.17/pom.xml#L164-L170

我也试过没有设置测试。它没有做任何事情。

我添加的依赖项似乎是针对PDFBox的Tika依赖。

java maven pdfbox apache-tika
3个回答
5
投票

我添加了以下依赖项,我没有任何其他警告

    <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-core</artifactId>
        <version>1.18</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-parsers</artifactId>
        <version>1.18</version>
    </dependency>
    <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>jbig2-imageio</artifactId>
        <version>3.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.github.jai-imageio</groupId>
        <artifactId>jai-imageio-jpeg2000</artifactId>
        <version>1.3.0</version>
    </dependency>

1
投票

很难确切地看到发生了什么,因为你没有包含你的pom.xml的整个<dependencies>...</dependencies>部分,但我怀疑这是由于可选的maven依赖。根据maven docs,您需要在pom中声明可选的依赖项,否则它们将不会被加载。

此外,您的所有imageio依赖项都具有<scope>test</scope>,使它们仅在单元测试期间可用。


0
投票

现在记录在错误日志中:

2019年2月19日下午3:18:44 org.apache.tika.config.InitializableProblemHandler $ 3 handleInitializableProblem警告:未加载J2KImageReader。 JPEG2000文件将不会被处理。有关可选的依赖项,请参阅https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io

但是我更喜欢有一个Tika版本(例如,带分类器),当我只想解析文本时,它不包括OCR /图像处理,或者有一个关闭错误记录的选项(并且只记录一个错误)当实际尝试加载不支持的格式时)。


0
投票

在clojure我修复它:

(System/setProperty "tika.config" "tika-config.xml")

在我的config.clj文件中。 xml只是:

<?xml version="1.0" encoding="UTF-8"?>
<properties>
   <service-loader initializableProblemHandler="ignore"/>
</properties>

xml文件必须位于“resources”目录中,并且该dir必须位于您的路径中。

© www.soinside.com 2019 - 2024. All rights reserved.