我正在尝试编写一个 Java 应用程序,它使用 JournalParser 从期刊文章中提取作者、引文等。 GrobidJournalParser 的文档提供了命令行应用程序和 TikaServer 的说明。我需要指向在 localhost:8080 以外的其他地方运行的 Grobid。我的类路径上有一个 GrobidExtractor.properties 文件,其中包含正确的 URL,但似乎没有找到它 - 我收到错误,因为它试图访问 localhost:8080 上的 Grobid。
WARNING: Interceptor for {http://localhost:8080/processHeaderDocument}WebClient has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: No message body writer has been found for class org.apache.cxf.jaxrs.ext.multipart.MultipartBody, ContentType: multipart/form-data
at org.apache.cxf.jaxrs.client.WebClient$BodyWriter.doWriteBody(WebClient.java:1220)
是否有其他方法可以告诉 Tika 或 JournalParser 在哪里可以找到 Grobid? Javadocs 在这方面没有帮助。
最佳答案
如explained in the documentation on using GROBID with Tika ,如果您想将 Tika 配置为使用备用 GROBID 服务器,您可以使用名为 org/apache/tika/parser/journal/GrobidExtractor.properties
您只调用了您的 GrobidExtractor.properties
,这就是它未被拾取的原因。需要完整路径
假设您使用的是 Linux,使用 Tika 应用程序,并且使用当前目录中的 GROBID 属性,您需要使用以下内容来修复它:
mkdir -p org/apache/tika/parser/journal
mv GrobidExtractor.properties org/apache/tika/parser/journal/
java -classpath .:tika-app-1.13.jar org.apache.tika.cli.TikaCLI --metadata journal.pdf
关于java - 在 Java 中将 GrobidExtractor.properties 传递给 Tika?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37166732/