2016-01-06 196 views
0

我試圖運行帶有該功能的JAR文件,但是,它結束了說,它不能加載外部JAR文件與Java

產生java.io.IOException:不能運行程序 「C :\用戶\用戶\文檔\的NetBeansProjects \ JavaApplication2 \ DIST \ JavaApplication2.jar「: CreateProcess的錯誤= 193,%1是不是一個有效的Win32應用程序

是否有可裝配到該功能的任何其它溶液?我想通過一個字符串在外部進行此操作,我已經探索了其他解決方案,但是,沒有發現任何適合我的工作。

private static void runprogram(String path) { 
     try { 
      Process process = Runtime.getRuntime().exec(path); 
     } catch (IOException ex) { 
      Logger.getLogger(Recap.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 
+0

什麼是'path'值和什麼是用於運行jar的完整命令? –

+0

您不能直接執行的是jar文件,你需要給exec的java.exe,並將它傳遞相關的參數來運行jar(即做的命令,相當於「Java的罐子yourjarfile.jar」) –

回答

0

它不工作,因爲

「C:\用戶\用戶\文檔\的NetBeansProjects \ JavaApplication2 \ DIST \ JavaApplication2.jar」

是不是一個有效的程序要運行.. 你應該調用(或通過爲path參數)這樣的:

的Java -ja r C:\ Users \ User \ Documents \ NetBeansProjects \ JavaApplication2 \ dist \ JavaApplication2.jar

+0

我不理解你的答案,你能改述一下嗎? –

+0

你IOException異常指出你試圖運行 「C:\用戶\用戶\文檔\的NetBeansProjects \ JavaApplication2 \ DIST \ JavaApplication2.jar」。 它看起來像是傳遞給你的** runprogram()**方法的** path **參數,它不是要運行的程序。 要運行應的程序: 「Java的罐子C:\用戶\用戶\文檔\的NetBeansProjects \ JavaApplication2 \ DIST \ JavaApplication2.jar」。 因此,你應該有** **路徑= 「:\用戶\用戶\文件\的NetBeansProjects \ JavaApplication2 \ DIST \ JavaApplication2.jar Java的罐子C」 運行的方法 – theDima