2013-04-16 5 views
6

Я создаю приложение Java, которое будет бесплатно загружено из Интернета. Я хочу добавить функцию автоматического обновления в случае исправления ошибок или улучшения приложения. Для автоматического обновления я разделил свою программу на 3 единицы.Auto update java application

  1. Base - очень небольшой код, который будет проверять наличие новой версии второго блока (Uploader) обновить и запустить его
  2. загрузчик будет проверять наличие новых обновлений проекта и загружать любые обновления и запустить его
  3. Основная программа - содержит основное приложение и содержит все модули.

я сделал выше по 2 причинам:

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

Есть ли обычный метод Java/сторонний пользователь для автоматического обновления?

ответ

6

Java Web Start (JWS) является технология корпорации Oracle используется для запуска расширенного клиента (Swing, AWT, SWT) приложений для настольных компьютеров непосредственно из сети или интернет-ссылки. Он предлагает установку «один клик» для платформ, поддерживающих Java.

JWS предоставляет много привлекательных функций, включая, но не ограничиваясь этим, заставки, настольной интеграцию, файловых ассоциации, автоматического обновления (включая ленивую загрузку и программное управление обновлениями), разбиения туземцев & других загрузок ресурсов по платформу, архитектуру или версию Java, конфигурацию среды исполнения (минимальную версию J2SE, параметры времени выполнения, оперативную память и т. д.), простое управление общими ресурсами с использованием расширений.

+0

На самом деле Web Star не поможет, как я имею программу установки для моего приложения Java, как и многие другие файлы и зависимости необходимые – aymankoo

+0

* «как и многие другие файлы и зависимости не нужны» * Ничто в этом заявлении правила JWS. Если они могут быть поставлены внутри Jar, просто добавьте Jar в класс времени выполнения. Но если необходимо выполнить дополнительную настройку/выключение (например, распакуйте файлы в определенные места), введите код в Java и вызовите это из ['ExtensionInstallerService'] (http://pscode.org/jws/ api.html # EIS). –

+0

Ну, по многим причинам мне нужна моя программа для проверки обновлений, так как не все файлы, которые я использую в своем приложении, нужно загружать.В некоторых случаях в обновлении мне нужно удалить некоторые файлы на клиентской машине и многие другие, поэтому я думаю, что это должно быть по коду – aymankoo

0

Вы можете попробовать использовать OSGi.

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

Я предпочитаю работать с приложениями Felix OSGI.

Apache Felix