Java Web Start Jar Access - PullRequest
       2

Java Web Start Jar Access

1 голос
/ 13 сентября 2011

Можно ли получить доступ к кэшированному файлу JAR на стороне клиента из приложения Java Web Start?

Наше приложение автоматически заполняет свой графический интерфейс, читая файл развертывания, ища классы, которые подклассируют различные вещи,затем поместите параметры в соответствующее место в графическом интерфейсе.Мы пытаемся использовать Java Web Start для развертывания приложения и традиционно используем:

MainClass.class.getProtectionDomain (). GetCodeSource (). GetLocation ()

, чтобы найти jar, затемиспользовал записи ZipInputStream для поиска файлов, заканчивающихся на .class.Однако при развертывании приложения из Web Start это местоположение находится на удаленном сервере.Поскольку файл jar составляет около 80 мегабайт, это приводит к очень длительному времени загрузки (до 30 минут) приложения.

Существует ли какой-либо способ найти локальную копию файла jar или лучшую альтернативу

Ответы [ 3 ]

1 голос
/ 13 сентября 2011

Используйте аннотации для классов, которые вы хотите распознать во время выполнения, вместо поиска в банке.

1 голос
/ 14 сентября 2011

.. лучшая альтернатива?

Казалось бы, вы построили 80 мег.Баночка, которая поставляется.Во время сборки скомпилируйте список классов и включите этот список в известный путь / имя в Jar (например, /resources/plugin-list.txt).Прочитайте этот файл во время выполнения, и у вас будет свой список.


Учитывая размер одного Jar-файла, я бы рекомендовал разбить его на отдельные Jar-пакеты.Таким образом, если изменятся только классы из 2 (из 10) пакетов, JWS автоматически обновит только два архива.

0 голосов
/ 13 сентября 2011

Что я делаю с большими проектами JAWS (у меня есть один из 35 МБ здесь), это для создания небольшого модуля запуска JAWS, который помещает реальный проект в локальную (пользовательскую) папку.

Если ваш проектсостоит из нескольких файлов, тогда вам может понадобиться создать файл release.xml или что-то еще, чтобы вы могли обрабатывать все необходимые файлы (и папки).

СОВЕТ: Если вы добавите размер файла и контрольную сумму к информации XML, это позволит обнаруживать обновления и просто загружать измененные файлы.

Как только ваш дистрибутив был загружен / обновлен, запустите Process (), вызывая

java -jar downloadedAppMainJar.jar
...