0
我正在運行一個批處理文件,它在java中從Robocode運行一場戰鬥,然後收集戰鬥結果。我使用運行該批處理文件中的代碼是:從java運行批處理文件會導致掛起,但在正常運行時不會運行
Process p = Runtime.getRuntime().exec("cmd /c C:\\Users\\Joel\\Documents\\ver5Files\\battle.bat");
p.waitFor();
我的批處理文件的內容是:
cd "C:\robocode"
java -DNOSECURITY=true -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar robocode.Robocode -nodisplay -battle battles\DT_battle.battle -results resultsv5.txt
exit
如果我運行的robocode不到35個回合戰鬥也能正常工作,然而,當我嘗試運行一個具有35個或更多戰鬥的代碼時,代碼會掛起,並且永遠不會返回到java代碼。
我通過運行修改批處理文件以便它與顯示器一起運行進一步調查,以便我可以觀看戰鬥並找出懸掛的位置。第35場戰鬥結束後,進入「第35輪清理」階段,基本上掛在那裏。該程序不會被凍結或任何東西,它只是不會初始化下一場戰鬥。
我已經和一個正在研究類似項目的人討論過,他們沒有這些問題,我們的代碼也沒有明顯區別。我試着在兩臺不同的機器上運行它,但是兩者都得到相同的結果。
有什麼建議嗎?
同樣的結果,它陷入了第35輪的清理步驟... – Pottsiex5
By Robocode你是指用Java編寫的編碼遊戲? –
它是一個引擎,您可以通過坦克來相互對抗:http://robocode.sourceforge.net/在這種情況下,我正在運行我的代碼中的戰鬥,然後從文件中收集它們的結果。 – Pottsiex5