2013-12-16 5 views
3

기본 Java 응용 프로그램에서 Java Web Start를 사용하여 다른 Java 응용 프로그램을 업데이트 한 다음 사용자 요청에 따라 두 번째 응용 프로그램을 "자동으로"실행하려고합니다.다른 응용 프로그램에서 Java 응용 프로그램 시작

javaw를 호출하고 캐시에서 두 번째 응용 프로그램을 자동으로 가져 오려면 Runtime.exec을 알고 있습니다. 첫 번째 응용 프로그램이 실행되고 나서 두 번째 응용 프로그램의 업데이트 된 복사본을 가지고있을 때 그렇게 할 수 있습니다. 내 문제는 Java 웹 시작 "응용 프로그램 확인"창을 표시하지 않고 두 번째 응용 프로그램을 실행하는 방법입니다.

일부 연구를하는 중 .jnlp를 실행하면 피할 수있는 방법이 없습니다. Java Web Start를 전달하여 다운로드 한 jar 파일을 직접 호출하는 두 번째 응용 프로그램을 실행할 수 있는지 궁금합니다.

어떤 아이디어?

감사

+0

를 사용하여 쉽게 exe 인 당신의 응용 프로그램을 변환 할 수 있습니다 - 아닙니다 당신이 응용 프로그램의 B를 생성하려면, 당신은 응용 프로그램에 a.jar 서명하고 신뢰할 수 있다고 가정 해 봅시다을 서명 및 관리하고 대답을 실행합니다. – chro

답변

0

현재 기본적으로 두 가지 가능성이 있습니다

  • 당신이 JNLP Api service를 사용하고 DownloadService을 사용할 수 있습니다;
  • 또는 URLClassLoader을 사용하고 원격 클래스를로드하십시오.
0

난 당신이 무엇을 원하는이, 당신을 위해있을 수 있습니다하는 것이 주변의 트릭으로 보이는 경우, 알고 그렇다면 용서하지 않는다 ...

왜 EXE로 실행되지 않습니다 , 프로세스 개체를 사용하여?

Process process = new ProcessBuilder("C:\\...Desktop\\MyExe.exe").start(); 

그리고 당신은이 보안 문제가 발생할 수 있습니다 jsmooth

+0

Webstart의 자동 업데이트 기능을 사용하여 두 번째 응용 프로그램을 업데이트 할 수 있도록 Java Web Start 솔루션을 고려했습니다. exe로 배포 할 경우 어떻게 두 번째 응용 프로그램을 업데이트 할 수 있습니까? 업데이트 - 시작 - 두 번째 응용 프로그램을 중지하는 사용자에게 보이지 않아야합니까? –

+0

나는 어떤 경우 에든 업데이트에 대해 사용자에게 알려야한다고 생각한다. java 파일의 exe는 [JDownloader] (http://jdownloader.org/)이다. 그것은 무료 오픈 소스 다운로드 관리 도구이며 원하는 자동 업데이트 기능도 있습니다. 도와줬으면합니다. –