0

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 で。

これで私を助けてください。ご意見/ご提案/アイデアをお待ちしております。

前もって感謝します。

4

1 に答える 1