Java Webstart を使用して、Java アプリケーションをイントラネットにデプロイします。アプリケーションは頻繁に更新されます。Web サーバー上の JAR/WAR を更新した後 (タイムスタンプが変更された後)、ユーザーがデスクトップ アイコンからアプリケーションを起動することがあり、Java Webstart は新しいバージョンをダウンロードする代わりに古いバージョンを起動します。
これは、JNLP の貼り付けです。オフライン許可がオンになっていることがわかりますが、常にチェックを更新し、ポリシーを常に更新します。また、ダウンロードフラグは熱心です。私の理解では、これらのオプションを使用すると、常にサーバーのタイムスタンプに対するキャッシュのチェックと JAR ファイルのダウンロードが行われるはずです。
Webstart に不満を感じ始めています。誰かが同様の問題を見たことがありますか? 解決策はありますか?3 回目または 5 回目の更新ごとに Webstart のキャッシュを手動でクリアするよう人々に説明するのにうんざりしています。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd">
<jnlp spec="1.0+" codebase="$$codebase" href="$$name">
<information>
<title>TITLE</title>
<vendor>VENDOR</vendor>
<description>Our Utility Application</description>
<description kind="short">Our Utility Application PRD</description>
<icon href="images/util_icon.png" height="64" width="64"/>
<offline-allowed/>
<shortcut online="true">
<desktop />
<menu submenu="Utility Apps"/>
</shortcut>
</information>
<security>
<all-permissions />
</security>
<update check="always" policy="always" />
<resources>
<!-- requires 1.6+ -->
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="-ea" initial-heap-size="128m" max-heap-size="512m" />
<!-- application code, download jar before we start. -->
<jar href="OurUpdatedJarName.jar" main="true" download="eager" />
<property name="configfile" value="updatedJarName.config" />
</resources>
<application-desc main-class="main.Client">
<argument>-D</argument>
</application-desc>
</jnlp>