2013-06-25 56 views
1

我试图按照教程进行评估Myrrix我的协同过滤需要时: http://myrrix.com/quick-start/Myrrix产生java.io.IOException以下教程

在我的Windows 7笔记本电脑,我能得到支架 - 单独的java二进制运行。我可以在端口80上加载Web界面。然而,当我去摄取样本audioscrobber数据我得到的消息:

Error 500 : /ingest 

java.io.IOException: The temporary upload location [C:\Users\XXXXXX\AppData\Local\Temp\1372181071432-0\work\Tomcat\localhost\_\tmp] is not valid 
at org.apache.catalina.connector.Request.parseParts(Request.java:2698) 
at org.apache.catalina.connector.Request.getParts(Request.java:2640) 
at org.apache.catalina.connector.RequestFacade.getParts(RequestFacade.java:1076) 
at net.myrrix.web.servlets.IngestServlet.doPost(IngestServlet.java:64) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
at net.myrrix.web.servlets.AbstractMyrrixServlet.service(AbstractMyrrixServlet.java:155) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1686) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 

我希望这只是一个加入“--localInputDir”的事命令行指令可以解决问题。但是,这似乎与Tomcat服务器试图上传的位置无关。

如何修改独立二进制文件,以便我能够成功地提取用于培训的示例数据?

回答

2

奇数。如果我按照提供的错误中的路径,最后的'tmp'目录缺失。如果我手动添加它在Windows资源管理器中,并尝试重新摄取,事情似乎按计划进行。

查看日志,看起来学习过程已经开始。

+0

是的这有效 - 我发现在某些情况下,Windows上的系统临时目录本身并不正确。也就是说,'java'全局使用了不存在的临时目录。如果是这样的话,设置'java.io.tmpdir'就可以解决这个问题。然后,是的,你需要在Tomcat的工作区内创建'tmp'。这部分看起来像Windows上的Tomcat bug。 –

1

我听说过这个,但没有能够重现它。出于某种原因,Tomcat分配的临时目录不是实际创建的,或者是不可访问的。

您可以尝试删除以“137 ...”开头的整个目录,以确保Tomcat创建另一个新目录。或者尝试调查此路径以查看是否可以创建和/或访问该临时目录。

这应该由Tomcat的javax.servlet.context.tempdir系统属性来控制。您也可以尝试将其设置为/tmp之类的其他位置。据我所知这与Tomcat和Windows有些不同,但它可能是暂时的,并且可以根据上述内容修复。

+0

嗨,你有没有想办法解决这个问题?它一直在窃听我,因为没有创建tmp目录,我无法改变Tomcat使用的路径。唯一可行的是每次手动创建目录,但显然这不是一个永久的解决方案... – pharlez

+0

我没有任何好的附加解决方案。它应该在那里,但不是在某些情况下,我不知道为什么。 –

相关问题