Можно ли принудительно очистить кеш при обновлении веб-приложения java? - PullRequest
6 голосов
/ 28 сентября 2010

Можно ли принудительно очистить кеш при обновлении веб-приложения java из командной строки?

Ответы [ 3 ]

5 голосов
/ 06 ноября 2011

Лично я бы отключил кэширование при разработке.

Windows: - Перейти Go ControlPanel / Java

Linux: - $ JAVA_HOME / bin / jcontrol

-> Временные файлы Интернета -> Настройки -> Снимите флажок «Сохранить временные файлы на моем компьютере»

Нажмите "Удалить файлы", чтобы очистить весь кэш, пока вы у него.

1 голос
/ 12 октября 2012

Согласно документации Javaws , вы можете очистить кеш с помощью:

javaws -uninstall

или

javaws -uninstall <jnlp>

Однако почти по определению вам не нужно очищать кеш, если приложение обновляется. Просто кажется, что иногда Javaws не обновляет приложения.

Я прибег к проверке URL-адреса, где хранится «последняя версия» моего приложения. Когда приложение запускается, я выбираю URL и сравниваю с запущенной версией. Если они отличаются, я выскакиваю "Есть новая версия доступна - обновить сейчас?" окно сообщения.

Если пользователь выбирает обновление, я использую (с соответствующей обработкой исключений не показано):

String uri = "http://www.myserver.com/path/to/myjnlp.jnlp";
String proc = "javaws";
Process javaws = new ProcessBuilder("javaws", uri).start();
System.exit(0);

Пока что этого достаточно, но при необходимости я мог бы предварить челюсти:

Process uninstall = new ProcessBuilder("javaws", "-uninstall", uri).start();
uninstall.waitFor();

Единственным недостатком этого является то, что, если у вас есть ссылки на рабочий стол, пользователю будет предложено добавить их снова. Но это небольшая цена за обновление, которое действительно работает ...

0 голосов
/ 08 ноября 2011

В настоящее время нет способа очистить кэш изнутри запущенного приложения, или, по крайней мере, я не смог его найти.

...