Как определить, используется ли INDEX.LIST в Web Start? - PullRequest
1 голос
/ 25 февраля 2011

Я пытаюсь использовать jav-индексирование, чтобы уменьшить количество загружаемых архивов во время запуска в Интернете. Я сгенерировал INDEX.LIST с помощью Ant и поместил его в файл jar, помеченный как основной (META-INF/INDEX.LIST). Мой стартап-класс тоже в этой банке. Основная банка загружается с нетерпением, другие загружаются по запросу.

Загружается только моя маленькая основная банка, пока я не найду ресурс, который может быть расположен в другом архиве. Если я пытаюсь загрузить файл свойств из другого jar-файла, клиент веб-запуска загружает множество других архивов, прежде чем находит мой ресурс. (более 10 мегабайт вместо ~ 500 КБ, что было необходимо). Похоже, он вообще не использует индексный файл, просто линейно просматривает список jar-файлов и пытается найти ресурс. Я проверил сгенерированный INDEX.LIST, и он содержит ссылку на мой файл свойств.

Как я могу определить, использует ли Web Start мой индексный файл?

Ответы [ 2 ]

2 голосов
/ 01 ноября 2011

Часть и пакет устарели в спецификации Java 6 JNLP, в пользу индексации jar и отложенной выборки любого файла, отмеченного как jar download = 'lazy'.Так что либо сбросьте Java Web Start для чего-то вроде GetDown, либо проиндексируйте этих щенков, чтобы избежать попадания в сеть от нового Java 6 JNLPClassLoader.На мой взгляд, серьезная регрессия от Java <6, но это так и есть.Я никогда не смогу заставить jarindex работать. </p>

1 голос
/ 25 февраля 2011

Возможно, вы захотите использовать элемент package в вашем файле JNLP, чтобы получить список пакетов, которые содержит каждый jar-файл. Индексы банок нечетные.

...