Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jws, jar-исполняемый и jar-ресурс 
V
    Опции темы
Metal_Heart
Дата 4.10.2007, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 4
Всего: 12



Здравствуйте, многоуважаемые!
У меня есть такая задачка:
 есть zip-архив (переименованный в hex.jar) в котором хранится набор hex-файлов;
 сделал исполняемый Downloader.jar-файлик, суть которого - достать из hex.jar требуемый файл и загрузить его в контроллер.

 Этот комплект требуется установить нескольким пользователям с возможностью автоматического обновления, именно поэтому я решил воспользоваться технологией "Jаvа Wеb Start"

 Всё благополучно было отлажено локально, подписанные JAR-файлы с JNLP-файлом выложены на сервер

Код

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://myserver/" href="Downloader.jnlp">
  <information>
    <title>Downloader</title>
    <vendor>Metal_Heart</vendor>
    <homepage href="index.html" />
    <description>Downloader</description>
    <offline-allowed/>
  </information>
<security>
<all-permissions/>

</security>
 <resources>
    <j2se version="6+" />
    <jar href="hex.jar"/>
    <jar href="Downloader.jar" main="true"/>
 </resources>
  <application-desc main-class="main" />
</jnlp>


вот здесь и появились проблемы, что Downloader.jar перестал видеть hex.jar
Покопавшись, я обнаружил, что при скачивании с сервера в кэш клиента у jar-файлов изменяется название, т.е. получается что-то вроде:
ffb5f29-69950ff3 - это и есть hex.jar
ffb5f29-7152e56e - это и есть Downloader.jar
ffb5f29-7152e56e.idx - это вероятно, какой-то вспомогательный файлик

Вопрос, что делать и как быть?
Мне видятся следующие пути выхода:
- упаковать всё в один jar-файл (не желательно, так как противоречит идеологии: пирожки - отдельно, котят - отдельно);
- пройтись по кэшу пользователя на наличие в кэш-файле какого-нибудь известного файла, например, манифеста;
- что-то ещё...

Отказываться от JWS - не приемлимо!



Это сообщение отредактировал(а) Metal_Heart - 4.10.2007, 11:00


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
fixxer
Дата 4.10.2007, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 6
Всего: 27



А у Вас в hex.jar захардкожен?


--------------------
user posted image
PM MAIL ICQ   Вверх
Metal_Heart
Дата 4.10.2007, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 4
Всего: 12



Цитата(fixxer @  4.10.2007,  11:12 Найти цитируемый пост)
А у Вас в hex.jar захардкожен? 

чаво?  smile 

У Нас smile hex.jar имеет следующую структуру:
Код

- каталогAAA
-- aa1.hex
-- aa2.hex
- каталогBBB
-- bb1.hex
-- bb2.hex

... и т.д.




Это сообщение отредактировал(а) Metal_Heart - 4.10.2007, 11:39


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
fixxer
Дата 4.10.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 6
Всего: 27



Нет, я имею ввиду есть ли у Вас в каком-либо классе Downloader.jar явные сслыки на hex.jar, или только в манифесте?

Короче, покажите кусок кода, где Вы с hex.jar работаете.

Это сообщение отредактировал(а) fixxer - 4.10.2007, 11:48


--------------------
user posted image
PM MAIL ICQ   Вверх
Metal_Heart
Дата 4.10.2007, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 4
Всего: 12



ок, есть только одна ссылка:
Код

ZipFile file = new ZipFile("hex.jar");



--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
fixxer
Дата 4.10.2007, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 6
Всего: 27



Ну вот в этом и дело. А зачем работать с jar'ом как с ZipFile, если можно его просто в classpath положить и просто ссылаться на файлики как на ресурсы? (getResource(...)) ?


--------------------
user posted image
PM MAIL ICQ   Вверх
Metal_Heart
Дата 4.10.2007, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 4
Всего: 12



fixxer, слушай, а я даже и не подумал о такой возможности, надо попробовать...


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
Metal_Heart
Дата 4.10.2007, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 4
Всего: 12



Вижу некоторую трудность при таком подходе:
Цитата(fixxer @  4.10.2007,  12:08 Найти цитируемый пост)
А зачем работать с jar'ом как с ZipFile, если можно его просто в classpath положить и просто ссылаться на файлики как на ресурсы? (getResource(...)) ? 

мне известен только формат содержимого архива, т.е. вчера было:
Код

- каталогAAA
-- aa1.hex

а сегодня может быть такой:
Код

- каталогBBB
-- bb1.hex
-- bb2.hex
-- bb3.hex


Другими словами: "что же находится в архиве" - мне не известно.
Перед вызовом getResourceAsStream(...) мне бы получить содержимое этого архива.
Это можно сделать, добавив в архив при его создании, например, текстовый файл с описанием содержимого.

Есть ли ещё варианты/предложения?



--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
AlexeyVorotnikov
Дата 4.10.2007, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 18.6.2007
Где: Москва

Репутация: 10
Всего: 18



Можно попробовать положить hex.jar внутрь Downloader.jar. Тогда его можно будет достать через getResourceAsStream(...).


--------------------
RTFM!
Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification
PM MAIL   Вверх
Metal_Heart
Дата 4.10.2007, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 4
Всего: 12



Цитата(Metal_Heart @  4.10.2007,  11:00 Найти цитируемый пост)
- упаковать всё в один jar-файл (не желательно, так как противоречит идеологии: пирожки - отдельно, котят - отдельно);




--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
jaspeen
Дата 4.10.2007, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чертяка



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 4.10.2007

Репутация: нет
Всего: нет



А какой вообще смысл таскать этот hex.jar с помощью JWS?
Почему бы то же самое этим Downloader'ром не подгрузить самому например через ftp, http или исчо как...
И вообще даже не архив грузить а сами файлики.
PM MAIL   Вверх
Metal_Heart
Дата 5.10.2007, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 4
Всего: 12



jaspeen, а зачем изобретать велосипед, когда технология АВТОМАТИЧЕСКОГО обновления уже написана и отлажена самой Sun Microsistems?
Сечёшь?

В общем, других предложений не поступило, остановился на таком варианте:
Цитата(Metal_Heart @  4.10.2007,  13:21 Найти цитируемый пост)
Другими словами: "что же находится в архиве" - мне не известно.
Перед вызовом getResourceAsStream(...) мне бы получить содержимое этого архива.
Это можно сделать, добавив в архив при его создании, например, текстовый файл с описанием содержимого.


Спасибо за внимание!

Это сообщение отредактировал(а) Metal_Heart - 8.10.2007, 09:07


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0877 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.