我试图编写一个自定义的Apache Tika解析器(用于DICOM医学图像),并将其作为插件打包在jar文件中。
我正在按照http://tika.apache.org/1.18/parser_guide.html的说明进行操作,并将这些项目作为模型:
因此,我创建了一个Maven项目,在org.apache.tika.parser.Parser
文件夹中编写了一个解析器类和一个resources
文件,并使用mvn install
构建了该项目,现在我有了一个jar文件。
我的问题是,如何使Tika使用此新解析器? Tika wiki上的说明说:
要安装插件,请按照以下说明下载并 将罐子放到类路径上。 Tika将自动检测该插件。
我尝试使用java -classpath /path/to/my-parser.jar ...
来执行此操作,但它似乎不起作用:
java -classpath /path/to/my-parser.jar -jar tika-app-1.18.jar --list-parsers
例如,不列出新的解析器。
我不是Java语言的人,而且我真的不确定“将罐子放在类路径上”是什么意思。如果有人能指出我正确的方向,我将不胜感激!谢谢。
答案 0 :(得分:2)
可悲的是,您犯了一个常见的Java新手错误-由于各种历史原因,java
程序不会同时接受-jar
和-classpath
选项,并且会忽略{{1 }}您提供的零件。
如果要在命令行上运行Apache Tika App,并添加了一个或两个额外的解析器jar,则需要执行以下操作:
-classpath
在同时运行Tika App jar 和上的 时调用主Tika App入口点(默认为java -classpath tika-app.jar:my-extra-parser.jar org.apache.tika.cli.TikaCLI --list-parsers
)。类路径。
开发此类自定义插件时,您可能还会发现Troubleshooting Apache Tika guide from the Tika wiki有用!