jarファイルを実行しようとしています。私は最初にcmdを介してそれらを実行する方法を学びましたが、かなりうまくいきました。現在、私が書いている Java コードから jar ファイルを実行しようとしています。jar は私のマシンにあり、以下に示すように jar コードを介して jar を実行します。
Runtime r = Runtime.getRuntime();
Process p = null;
p = r.exec(new String[] { "cmd", "/c", "start C:\\jartest\\JavaApplication.jar" });
これは私のマシンで非常にうまく機能します。JavaApplication.jar の出力は、フォルダーを作成し、出力が達成されることです。
この問題は、マシンからサーブレットを介して 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 上の jar のパスは/home/pi/JARTestです。コマンドライン引数を「file1」として Jar ファイルに渡します。Jar ファイルの実行を除いて、サーブレットの他の操作も正常に機能します。
PS- jar (JavaApplication.jar) の結果は同じです。私のマシン(Windows)で動作しますが、同じjarファイルと同じコマンドを受け入れたくないだけです。ラズベリー PI で。
これで私を助けてください。ご意見/ご提案/アイデアをお待ちしております。
前もって感謝します。