Подтвердить что ты не робот

Внедрение функции автоматического обновления приложения JavaFX

Я собираюсь написать новое кросс-платформенное приложение, и я выбрал JavaFX, в основном из-за его богатых библиотек пользовательского интерфейса (как стандартных, так и сторонних) и собственной функции привязки данных. Мое приложение будет развернуто через собственную упаковку, поскольку из-за отсутствия плагина PPAPI Java (Chrome прекратит NPAPI в Chrome 42, который сейчас находится в бета-версии), что помешает пользователю Chrome использовать WebStart и потому, что более "классический", пользовательский интерфейс, поэтому WebStart и автоматические обновления не входят в таблицу.

Сценарий будет следующим:

  • Запуск приложения и проверка обновлений
  • Если обновления найдены, загрузите их и поместите во временную папку
  • При завершении работы напишите вновь загруженные файлы JAR поверх старых
  • Автоматический перезапуск обновленного приложения

Однако в моем сознании возникает несколько вопросов (изначально эти два, но я мог бы обновить этот вопрос, как только у меня появилось больше):

  • Безопасно ли это? Я рискую тем, что каким-то образом JVM становится сумасшедшим, если я перезаписываю некоторые JAR, уже используемые в жизненном цикле приложения?
  • Я пытаюсь найти способ автоматического перезапуска приложения JavaFX. Возможно ли это?

Спасибо всем за вашу помощь.

4b9b3361

Ответ 1

Взгляните на GetDown или UpdateFX. Он реализует загрузочный загрузчик, который проверяет наличие обновлений, загружает их и запускает ваше приложение, как только оно будет обновлено.

Ответ 2

Возможно, вы можете попробовать install4j, хотя он заплатил. Главной особенностью, которую я люблю больше всего, является автоматическое обновление и то, как вы можете легко настроить установщик (создать Linux - deb, rpm installer, Mac и установщик окон), и даже может упаковать требуемую версию jdk для запуска вашего app (это означает, что вашим пользователям не требуется, чтобы эта версия Java была установлена ​​перед использованием вашего приложения)

Хотя, может показаться, что это немного утомило ваши потребности.