如何在jar文件中使用Tika自定义解析器?

时间:2018-07-26 15:18:52

标签: java maven apache-tika

我试图编写一个自定义的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语言的人,而且我真的不确定“将罐子放在类路径上”是什么意思。如果有人能指出我正确的方向,我将不胜感激!谢谢。

1 个答案:

答案 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有用!