Почему Java Web Start не обновляет настройки jnlp, даже если указано "обновление" и изменена версия?
Я сделал следующие шаги:
- Очищен Java-кеш.
- Запустил апплет (через
javaws <url of jnlp file>
) - Заметил свежую запись в кеше java. Допустим, у этого файла jnlp была версия
6.43
а также-Xss4m
вjava-vm-args
, - Затем я изменил версию на
6.44
,java-vm-args
в-Xss5m
и побежалjavaws
снова. - С помощью
wireshark
Я заметил, что файл jnlp действительно был загружен. Но когда приложение запустилось,-Xss
настройка по-прежнему отображается 4mb. Любое количество попыток не решает проблему - только полная очистка кэша может заставить JavaWS принять новую версию.
Я использую JDK 1.7.0_45, на XUbuntu 12.04, 64bit.
Вот полный файл jnlp:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="7.0+" codebase="http://192.168.0.47/parrot/" href="http://192.168.0.47/parrot//jnlp.php" version="6.44">
<information>
<title>Parrot</title>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se"
java-vm-args="-Xss5m" />
<jar href="http://192.168.0.47/parrot//Parrot.jar" main="true" />
<jar href="http://192.168.0.47/parrot//Splash.jar" download="progress" />
<property name="jnlp.packEnabled" value="true" />
</resources>
<application-desc name="Parrot"
main-class="launch.Jnlp"
progress-class="parrot.splash.Splash" />
<update check="always" policy="always" />
</jnlp>
Как вы видете, update
был установлен на always
,
Хотя у меня (как у разработчика) нет проблем с очисткой кэшей, пользователи моего приложения определенно не всегда настолько умны, и поэтому они обречены запускать приложение с неверными аргументами jvm. Есть ли способ исправить это?