2013-06-25 57 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

我沒有任何好的附加解決方案。它應該在那裏,但不是在某些情況下,我不知道爲什麼。 –

相關問題