다른 응용 프로그램에서 업데이트 한 응용 프로그램을 만들었습니다. 업데이트 프로그램은 OSX .app에 번들로 제공되며 리소스 디렉토리의 내용을 업데이트합니다. 업데이터가 시작되면 업데이트를 찾은 다음 System.getRuntime().exec(cmd)
을 실행합니다. cmd
은 번들 된 JRE의 경로와 응용 프로그램의 jar의 경로입니다.OSX Java 응용 프로그램에서 jar 파일 시작
업데이트 프로그램 jar 파일을 실행하면 모든 것이 예상대로 작동합니다. 그러나 응용 프로그램을 실행할 때 업데이터가 정상적으로 시작되지만 "시작"버튼을 누르면 응용 프로그램이 시작되지 않습니다. 사실, 아무 일도 일어나지 않고 있습니다. 명령 줄 수준에는 오류가 없으며 프로세스를 만들 때 예외가 발생하지 않습니다. process.isAlive()
이 true를 반환합니다.
내가 말했듯이, jar updater 파일에서 실행하면 잘 작동합니다. .app 디렉토리는 maven 플러그인 "appbundle"을 사용하여 만들었습니다. 신청서는 https://github.com/elyas145/lss-reporter입니다. 그러나 업데이트 확인을위한 비밀 파일 없이는 실행할 수 없습니다. 불행히도 온라인으로 게시 할 수 없습니다.