2010-12-08 3 views
0

Можно создать дубликат:
how to restart java application, remembering its command line argumentsКак перезапустить приложение после ошибки?

Привет, Я занимаюсь разработкой редактора в Java, и я хочу, чтобы обеспечить возможность перезапуска всего приложения после ошибки.

Я установил обработчик исключений, используя Thread.setDefaultUncaughtExceptionHandler, и я показываю там окно сообщения, это легко. Мне нужно как-то закрыть приложение, а затем запустить его снова с тем же файлом.

Любые идеи?

ответ

0

Запуск приложения путем вызова Runtime.exec("my_startup_command"); Не ждите окончания, не читайте Processoutput.

1

Вы можете сделать это с

Runtime.getRuntime() Exec ("Java -jar" location.of.your.. банку ");

Чтобы получить баночку местоположение:

public static File getJarFile(Class main) { 
    try { 
     File f = new File(main.getProtectionDomain().getCodeSource().getLocation().toURI()); 
     return f; 
    } catch (URISyntaxException ex) { 
     return null; 
    } 
} 
0

Что мы делаем, когда хотим проснуться рано утром? Мы говорим кому-то в нашем доме, чтобы разбудить нас, или мы создали тревогу. То же самое можно применить к этому сценарию. Сделайте полностью независимое приложение из основного приложения, которое будет работать как «Invoker» для вашего основного приложения. И в команде Restart просто запустите приложение invoker со всеми аргументами командной строки и выйдите из основного приложения. Затем через какое-то время (независимо от времени, которое вы установили) ваше приложение-invoker запустит ваше основное приложение.

Смежные вопросы