我正在尝试使用tika软件包来解析文件。 Tika已成功安装,tika-server-1.18.jar
已在cmd Java -jar tika-server-1.18.jar
中以Code运行
我在Jupyter中的代码是:
Import tika
from tika Import parser
parsed = parser.from_file('')
但是,我收到以下错误消息:
2018-07-25 10:20:13,325 [MainThread] [WARNI]无法看到启动 日志消息;正在重试... 2018-07-25 10:20:18,329 [MainThread] [WARNI]无法看到启动日志消息;正在重试... 2018-07-25 10:20:23,332 [MainThread] [WARNI]无法查看启动日志 信息;正在重试... 2018-07-25 10:20:28,340 [MainThread] [ERROR] 3次尝试后未收到Tika启动日志消息。 2018-07-25 10:20:28,340 [MainThread] [ERROR]无法接收启动 从startServer确认。
RuntimeError:无法启动Tika Server。
答案 0 :(得分:4)
根据Apache Tika's site,tika-server.jar的所有新版本都将需要Java 8。
2018年4月24日:Apache Tika版本 Apache Tika 1.18已发布!此版本包括错误修复(例如,从PPT中的分组形状中提取),安全修复以及对依赖项的升级。请注意:下一版本将需要Java8。有关发行版中所做更改的完整列表,请参阅CHANGES.txt文件,并查看下载页面以获取有关如何获取Apache Tika 1.18的更多信息。
tika Python库的当前过时文档声称需要Java 7,但现在必须安装Java 8。这是因为如果您的临时文件中找不到tika-server.jar的当前版本,则会在运行时自动下载。
在安装Java 8之后,我的基本测试代码启动了服务器并正常运行。
答案 1 :(得分:3)
导入Tika之后,您需要初始化Java Server
import tika
tika.initVM()
from tika import parser
parsed = parser.from_file('') //file name should be here
答案 2 :(得分:1)
您尚未在行中传递参数(指定文件):
parsed = parser.from_file('')
提供文件以供其咀嚼,例如
parsed = parser.from_file('myfile.txt')
服务器没有启动,大概没有日志警告被触发-请参见源代码the Github的第644行
然后另一个错误消息告诉您它不会播放...
答案 3 :(得分:0)
下载Java。如果您已经安装了Java版本,请尝试将其更新为最新版本。适用于我的版本是1.18。
答案 4 :(得分:0)
我遇到了类似的问题。尝试了这里提到的所有步骤,没有任何帮助。 我是如何解决的:
C:/Users/your_user_name/AppData/Local/Temp/
检查下面的日志片段 -
INFO: Setting the server's publish address to be http://localhost:9998/
WARNING: FAILED SelectChannelConnector@localhost:9998: java.net.BindException: Address already in use: bind
java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at org.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:187)
at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:316)
at org.eclipse.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:265)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.Server.doStart(Server.java:293)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine.addServant(JettyHTTPServerEngine.java:417)
at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.activate(JettyHTTPDestination.java:179)
at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:49)
at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:95)
at org.apache.cxf.jaxrs.JAXRSBindingFactory.addListener(JAXRSBindingFactory.java:88)
at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123)
at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:206)
at org.apache.tika.server.TikaServerCli.main(TikaServerCli.java:213)
port 9998
上运行的 java 进程(我认为它可能已经不存在了)C:/Users/your_user_name/AppData/Local/Temp/
并检查它是否失败或正确运行:java -jar tika-server.jar
希望这对未来的人有所帮助。