我一直在嘗試執行jar文件。我第一次學會了如何通過cmd執行它們,並且我做得相當好。現在,我正在嘗試從我一直在編寫的Java代碼運行jar文件。該罐位於我的機器,我通過jar代碼運行罐子,如下所示:從遠程計算機上運行位於Raspberry PI上的jar文件(我的電腦)
Runtime r = Runtime.getRuntime();
Process p = null;
p = r.exec(new String[] { "cmd", "/c", "start C:\\jartest\\JavaApplication.jar" });
這對我的機器非常有用。 JavaApplication.jar的輸出是它創建一個文件夾並實現輸出。
當我想通過Servlet從我的機器運行位於Raspberry PI的Jar文件時,會出現問題。代碼如下所示:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
QLM qlm = new QLM();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("Response of Servlet Content Started \n");
String message= request.getParameter("msg");
out.println(message);
if((qlm.get_Envelop(message))!= null){
out.println("DATA IS VALID");
} else out.println("WRONG MESSAGE!!");
out.println("Response of Servlet Content end \n");
**Runtime r = Runtime.getRuntime();
out.println("Am I here??");
r.exec(new String[] {"cmd","/c", "start /home/pi/JARTest/JavaApplication24.jar", "file1" });**
out.println("Did it work??");
} finally {
out.close();
}
}
這是我的機器上的同一個jar文件。我通過WinSCP在PI上放置/存儲JavaApplication.jar。罐子位於Raspberry PI上的路徑是:/home/pi/JARTest。我將命令行參數作爲「file1」傳遞給Jar文件。除了運行Jar文件外,servlet的其他操作也可以正常工作。
P.S- jar(JavaApplication.jar)的結果是相同的。它適用於我的機器(Windows),但它不想接受相同的jar文件和相同的命令Runtime r = Runtime.getRuntime();在樹莓PI。
請幫我這個。任何意見/建議/想法將深受讚賞。
在此先感謝。
Java和jar都不是縮寫詞。 Java是大寫的,因爲它是一個專有名詞。罐子不是大寫的,因爲它不是。我編輯它。 – vy32
@ vy32感謝您的編輯:)請記住下一篇文章。 –