1

Я создал Java JAR-программу, которая должна постоянно работать на компьютере. Если программа закрыта (либо из-за того, что пользователь закрыл ее, либо из-за сбоя), мне нужно снова открыть программу.

Мне уже удавалось автоматически запускать его всякий раз, когда я вхожу в компьютер, но как я могу сохранить его?

Я не уверен, должен ли это быть вопрос программирования или нет. В конце концов, автозапуск программ - это не вопрос программирования, поэтому я решил, что сделать их постоянными может быть аналогичным случаем.

3 ответа3

3

Поместите это в файл .bat/.cmd . Настройте вызов java в соответствии с вашими потребностями. Запустите cmd-файл из автозапуска. Обязательно используйте java , а не javaw , так как вы хотите подождать, пока он не закончится, прежде чем запускать его в следующий раз.

:start
"C:\Program Files\java\bin\java" -jar my.jar
goto start
0

При переполнении стека возникает вопрос о том, как превратить файл .bat в сервис:

https://stackoverflow.com/a/13294293

Лучший ответ на этот вопрос - использовать nssm (http://nssm.cc/). Когда ваш файл bat превращается в сервис, он автоматически перезапускается при закрытии.

Использование в ваших целях будет выглядеть примерно так:

nssm install yourservicename yourbatfile.bat
nssm start servicename
nssm stop servicename
0

Есть несколько программ, которые вы можете использовать для этого. Один из них называется Control Running Programs (CRP). Это очень хороший инструмент для решения этой проблемы.

Вот ссылка для этого ............

https://www.raymond.cc/blog/keep-application-running-by-automatically-rerun-when-closed/

Надеюсь, что это ответит на ваш вопрос, если не дайте мне знать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .