我的项目是使用 pantomime 2.10.0 库 [com.novemberain/pantomime "2.10.0"]
与 Leiningen 一起构建,它是 Apache Tika 的一些 Clojure 包装器。我仔细阅读了 https://pdfbox.apache.org/2.0/dependencies.html 上的一些文档。试图消除 org.apache.tika.config.InitializedProblemHandler 发出的警告,但似乎仍然存在。
Sep 06, 2018 1:59:25 PM org.apache.tika.config.InitializableProblemHandler$3 handleInitializableProblem
WARNING: JBIG2ImageReader not loaded. jbig2 files will be ignored
See https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io
for optional dependencies.
我正在努力了解我还需要添加哪些内容到我的project.clj依赖项中才能消除此警告。为什么[org.apache.pdfbox/jbig2-imageio "3.0.1"]
不满足依赖关系。
我的project.clj的:依赖项的相关部分是:
[org.xerial/sqlite-jdbc "3.23.1"]
[org.apache.pdfbox/jbig2-imageio "3.0.1"]
[com.github.jai-imageio/jai-imageio-core "1.4.0"]
[com.github.jai-imageio/jai-imageio-jpeg2000 "1.3.0"]
[com.novemberain/pantomime "2.10.0"]
我错过了什么?
最佳答案
要禁用这些警告,您需要在 Tika 配置文件中禁止它们。
tika.xml:
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<service-loader initializableProblemHandler="ignore"/>
</properties>
然后在代码中使用此配置文件:
(let [handler (BodyContentHandler.)
config (TikaConfig. (FileInputStream. "tika.xml"))
parser (AutoDetectParser. config)
metadata (Metadata.)
stream (FileInputStream. "resources/memory.pdf")]
(.parse parser stream handler metadata)
(prn (str handler)))
要启用对 JBIG 和所有内容的支持,您应该引用 tika-parsers-1.17.jar!/META-INF/maven/org.apache.tika/tika-parsers/pom.xml
其中保存对受支持插件及其版本的所有引用。将这些插件添加到您的依赖项中。
对于[com.novemberin/pantomime "2.10.0"]
,您应该选择
[com.levigo.jbig2/levigo-jbig2-imageio "1.6.5"]
[com.github.jai-imageio/jai-imageio-core "1.3.1"]
[com.github.jai-imageio/jai-imageio-jpeg2000 "1.3.0"]
它适用于 Java 1.8,但我相信它不适用于 Java 1.10,Java 1.10 现在有了这个新模块。这些插件之一不支持此功能。
关于clojure - "WARNING: JBIG2ImageReader not loaded."但 [org.apache.pdfbox/jbig2-imageio "3.0.1"] 存在吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52212321/