jar 파일을 실행하려고했습니다. 먼저 cmd를 통해 실행하는 법을 배웠고 상당히 잘 수행했습니다. 자, 지금 내가 작성한 Java 코드에서 jar 파일을 실행하려고합니다. jar 파일은 다음과 같이 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입니다. Jar 파일에 명령 줄 인수를 "file1"로 전달합니다. 서블릿의 다른 연산은 Jar 파일을 실행하는 것을 제외하고는 잘 동작합니다.
P.S- jar (JavaApplication.jar)의 결과는 동일합니다. 내 컴퓨터 (Windows)에서 작동하지만 동일한 jar 파일과 동일한 명령을 허용하지 않으려합니다. Runtime r = Runtime.getRuntime(); 라스베리 파이에.
도와주세요. 모든 입력/제안/아이디어는 깊이 감사 할 것입니다.
미리 감사드립니다.
Java 또는 jar는 약자입니다. 자바는 고유 명사이므로 대문자로 표기됩니다. Jar는 대문자가 아닙니다. 나는 그것을 편집했다. – vy32
@ vy32 편집 해 주셔서 감사합니다. 다음 게시물에서 계속 유의하십시오. –