В Java 8 и предыдущих версиях есть Java Web Start, который автоматически обновляет приложение при его изменении. Oracle рекомендовала пользователям перейти на jlink, так как это новая технология Oracle. Пока это звучит хорошо. Это связано с множеством преимуществ:
- Родительский код для Windows, Mac и Linux
- Модуляция кода (хотя Proguard также делает это)
- Использование новых поддерживаемых технологий.
Проблема: я не могу найти каноническое решение Java для автоматического обновления с помощью jlink.
Можно подумать, что Java Web Start можно продолжать использовать, особенно если он случайно читает этот документ. Обратите внимание на то, что Java Web Start по-прежнему остается в списке. Но есть муха в мазке: Oracle обесценивает Java Web Start. Он намечен для удаления в JDK 11. Итак, каков официальный путь вперед. Если это не так, есть ли стандартный способ, которым люди идут?
Для целей этого вопроса следующие пределы:
- Ежегодно выплачивать огромные суммы денег кому-то с функциональным решением предприятия. Приложение, которое будет распространено, уже упаковано в одну банку, размер которой меньше 50 МБ.
- Заставляет пользователей запускать приложение стиля InstallShield для переустановки новой версии, а затем вручную удалять старую версию каждый раз при нажатии на обновление. Это так 1990-х.
- Перенос всего приложения в webapp, переписывание логики пользовательского интерфейса и клиентской стороны для размещения в браузере и решения всех несовместимостей, которые влекут за собой. Авторы приложения работали над GWT и точно знали, на что способны веб-браузеры. К сожалению, они также знают уровень требуемых усилий.
- Предоставление пользователям возможности запуска старых версий приложения. То же самое относится к 1980 году. Быстрое обновление современных приложений и поддержка каждой версии приложения, когда-либо выпущенного, не поддаются проверке. То, к чему обращалось приложение моего отца COBOL, и ему это не понравилось. Я надеюсь, что технология прогрессирует.
- Продолжение использования Java Web Start. До тех пор, пока Oracle не передумает, Java Web Start - это обреченная технология.