2013-03-28 80 views
0

我正在研究將運行jython文件以獲取某些結果的可執行jar文件。 我試過用這種技術調用jython文件。從java類運行Jython代碼

從java類運行.bat文件,並且.bat文件將調用Jython文件。

Runtime rt = Runtime.getRuntime(); 
Process process = rt.exec(new String[] { "cmd.exe", "/c", "D:\\calljython.bat " + parameters + "" }); 

jython文件運行後,我通過InputStream讀取輸出並獲得結果。 該技術在從eclipse運行時工作,但在創建並運行可執行jar時失敗。

我使用的另一件事是PythonInterpreter但在這種情況下也面臨問題。

我想要做的是:在Jython的文件中使用

從Java運行Jython代碼與參數一起,並得到結果。

+0

什麼是失敗?你有沒有任何堆棧跟蹤? – shazin 2013-03-28 06:34:27

+0

從可執行jar我無法獲得任何堆棧跟蹤。它根據邏輯需要一些輸入,然後沒有任何反應。 – 2013-03-28 06:36:58

+0

我的建議是把日誌或打印語句,並找到真正發生的事情,這樣會更容易。打印要執行的命令。 Process.waitFor()返回代碼等。 – shazin 2013-03-28 06:40:21

回答

0

嘗試調試代碼並確保bat文件或jython被調用並返回結果。 bat文件應該與你正在執行的jar文件一致(相同的層次結構)。

Runtime rt = Runtime.getRuntime(); 
Process process = rt.exec(new String[] { "cmd.exe", "/c", "calljython.bat " + parameters + "" });