clojure - “警告:未加载 JBIG2ImageReader。” 但是 [org.apache.pdfbox/jbig2-imageio "3.0.1"] 存在吗?
问题描述
我的项目是使用哑剧 2.10.0 库与 Leiningen 一起构建的,该库[com.novemberain/pantomime "2.10.0"]
是 Apache Tika 的一些 Clojure 包装器。我通过https://pdfbox.apache.org/2.0/dependencies.html上的一些文档尝试消除 org.apache.tika.config.InitializableProblemHandler 发出的警告,但似乎仍然存在。
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 的相关部分 :dependencies 是:
[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.novemberain/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,它现在有了这个新模块。这些插件之一不支持这一点。
推荐阅读
- jenkins - 从另一个管道获取触发的詹金斯管道的实时日志
- javascript - 如果状态为 0,Recat Hooks 如何检测更改
- json - NIFI XML 到 JSON 空值
- intellij-idea - 从 Intellij 的 Database Navigator 插件连接到 GCloud Spanner Emulator 实例
- spring-boot - Spring boot - Autowired 在身份验证提供程序中为空
- scala - 尝试写入输出文件时出现 Scala 错误
- javascript - 无法使用 ngif 读取 null 的属性“nativeElement”
- python - 如何在 Python 中修改 sys.path?
- python - django 用户定义字段和答案模型
- mysql - 如何根据需要满足的 2 个条件对实例进行计数?