Динамически загружать дополнительные файлы JAR с помощью Web Start / JNLP - PullRequest
6 голосов
/ 18 марта 2009

Руководство для разработчиков Web Start состояния

Все ресурсы приложения должны быть извлечены из указанных файлов JAR в разделе ресурсов файла JNLP, или получены явно используя HTTP-запрос к веб-серверу.

Рекомендуется хранить ресурсы в JAR-файлах, так как они будут кэшироваться на локальном компьютере с помощью Java Web Start.

Теперь у меня есть некоторые ресурсы, которые я хочу динамически загрузить после запуска моего приложения (например, пакеты OSGi). Я могу сделать это с помощью простого HTTP, но я бы хотел использовать поддержку Web Start для локального кэширования и ресурсов с поддержкой версий / архитектуры.

Есть ли способ загрузить дополнительные файлы jar из исходной базы кода (как указано в файле jnlp приложения) с использованием инфраструктуры Web Start?

Или в качестве альтернативы: уже существует установленный способ интеграции OSGi и Web Start, который избавил бы меня от задачи установки пакетов с сервера Web Start?

Ответы [ 2 ]

4 голосов
/ 18 марта 2009

Если ваше приложение само по себе является OSGI-приложением на основе Equinox, вы можете запустить его через Интернет со всеми необходимыми пакетами дополнений.

Эта статья " WebStarting Equinox OSGi Apps " может дать вам хорошее представление о необходимых настройках.

  • Все пакеты должны быть развернуты как подписанные файлы JAR
  • Вам нужна функция, которая содержит все необходимые пакеты
  • При экспорте функции убедитесь, что PDE создает файл JNLP (протокол сетевого запуска Java) (флажок в мастере экспорта) для этой функции
  • Предоставьте корневой JNLP-файл для вашего приложения
  • Разверните свое приложение на веб-сервере и убедитесь, что веб-сервер знает тип mime приложения / x-java-jnlp-file

У него также есть OSGI демо .

1 голос
/ 12 июня 2009

Я не пробовал, но посмотрите на javax.jnlp.DownloadService API

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...