Почему иногда Java не запрашивает новые версии файлов jar? - PullRequest
4 голосов
/ 04 июня 2009

Каждый раз, когда мы обновляем наше Java-приложение (Java-клиент и Java-сервер), у нас возникают проблемы, с которыми некоторые клиенты сталкиваются. 1% - 2% не загружает новые файлы jar. Это происходит с апплетами, а также с Java Web Start. Если вы очистите Java Cache, значит все работает правильно.

Есть идеи, почему Java не проверяет новые jar-файлы при каждом запуске?

Ответы [ 2 ]

2 голосов
/ 04 июня 2009

Это может быть проблематично решить, но для этого есть простой обходной путь. Вместо того, чтобы полагаться на правильное обновление кэша, просто убедитесь, что имена файлов JAR включают номер версии / сборки приложения. JAR-файлы для новой версии апплета будут эффективно жить по другому URL-адресу (вы также должны изменить веб-страницу начальной загрузки).

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

Я был там, и единственное решение, которое гарантированно работает на 100%, - это иметь другой путь / URL к вашим ресурсам (банкам, изображениям и т. Д.). Никто не может гарантировать, что не может быть ошибок в механизме кэширования (если вы просматриваете список изменений JDK каждые 2-3 выпуска, это связано с механизмом кэширования jar-файлов).

Так что продолжайте (просто добавьте время последнего изменения в виде строки в конце URL-адреса фляги), и у вас не возникнет никаких проблем:

Пример: http://myserver/applet/codebase/your_jar.jar?v=2487387543434 и в следующей версии это будет http://myserver/applet/codebase/your_jar.jar?v=343438534545455 <- это время последнего изменения банки. </p>

...