我開發必須運行一個名爲gradlew.bat assembleRelease
此目錄內程序的命令行Java應用程序:this.workDir+"/Project/CapAndroid"
調用Runtime.getRuntime()EXEC - >不能運行程序CreateProcess的錯誤= 2,系統找不到指定的文件
所以我這樣做:
Process p = Runtime.getRuntime().exec("gradlew.bat assembleRelease", null , new File(this.workDir+"/Project/CapAndroid"));
該文件是在該目錄中100%地肯定,它完美的作品在Linux,但在Windows上沒有工作!我得到這個錯誤:
java.io.IOException: Cannot run program "gradlew.bat" (in directory "C:\Users\Administrador\Desktop\generators\And\jobs\2247994\Project\CapAndroid"): CreateProcess error=2, The system cannot find the file specified
我覺得窗戶必須知道在EXEC的第一個參數傳遞的命令()方法必須在最後一個參數傳遞的目錄執行的問題。 Linux的完美的作品,也OS X太,問題僅在Windows
非常感謝
命令在Linux和MacOS X是'gradlew.bat'? – RealSkeptic
不,其簡單gradlew沒有蝙蝠,我重命名它,它是一個常數 – NullPointerException
可能的重複http://stackoverflow.com/questions/19621838/createprocess-error-2-the-system-cannot-find-the-file-指定 – Deh