2011-12-05 9 views
3

デスクトップアプリケーションがあり、JAVA Web startを使用してそのアプリケーションを起動したいとします。初めてブラウザを使用して起動するときにうまくいき、リソースで定義されたすべてのjarファイルがダウンロードされます。次回はJNLPを使用して、またはブラウザから実行しても、JARファイルはダウンロードされません。キャッシュから来使用されているか、いくつかの場所の他には、私にはわからないのジャー...JNLPアプリケーションでJARの最新バージョンを使用する方法を教えてください。

は、私は自分のアプリケーションがリソースで定義されているすべてのjarファイルを起動されるたびに

私のJNLPをダウンロードしていることを望みますファイルには次のものが含まれます:

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+" codebase="" href=""> 
    <information> 
     <title>example</title> 
     <vendor>example</vendor> 
    </information> 
    <resources> 
     <!-- Application Resources --> 
     <j2se version="1.5+" 
       href="http://java.sun.com/products/autodl/j2se"/> 
     <jar href="application.jar" main="true" /> 
     <jar href="lib/app.jar" />    
    </resources> 
    <application-desc main-class="com.application.entry"> 
    </application-desc> 
    <update check="background"/> 
    <security> 
    <all-permissions/> 
    </security> 
</jnlp> 
+0

これと同様の質問への回答チェックアウト:http://stackoverflow.com/questions/2148454/java-webstart-intermittant-jar-not-updating – holygeek

+0

JNLPファイルが無効であることを。最良の結果を得るには、[JaNeLA](http://pscode.org/janela/)を使用して検証します。 –

答えて

5

新しいバージョンがある場合は、jarをダウンロードします。そうでなければ、実際にファイルをダウンロードする必要はありません。

+0

どうすれば新しいバージョンが利用可能であるか知ることができます。どうか説明してください。 私はserver.afterで自分のjarファイルをアップロードしています。それでも古いjarファイルを使用しているjars.i.eはダウンロードされません。 – user1068768

+1

JWSはサーバーの「最終更新日時」をローカルにキャッシュされたバージョンと照合します。後であれば、新しいJarsがダウンロードされます。サーバーとクライアントの時間帯の違いにより、新しいJarがアップロードされる時点から更新される新しいコンテンツとして認識されるまでの間に最大24時間の遅延が生じる可能性があることに注意してください。 –

+0

助けてくれてありがとう。 – user1068768

1

Andrew Thompsonによって指さ行動はあなたが期待できるものですが、あなたはこのような更新ポリシー変更することができます。

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+" codebase="" href=""> 
    <information> 
     <title>example</title> 
     <vendor>example</vendor> 
    </information> 
    <resources> 
     <!-- Application Resources --> 
     <j2se version="1.5+" 
       href="http://java.sun.com/products/autodl/j2se"/> 
     <jar href="application.jar" main="true" /> 
     <jar href="lib/app.jar" />    
    </resources> 
    <application-desc main-class="com.application.entry"> 
    </application-desc> 
    <update check="always" policy="always"/> 
    <security> 
    <all-permissions/> 
    </security> 
</jnlp> 
0

はい、それは問題を解決するためのポイントです。

ソリューションは簡単です、あなたはこれらの変更を行う必要があり:

update check="always" policy="always 

をそして、それは何も我々が設定することができ

0

三つの異なるチェックのconfigsを設定するにあってはなりません。

アップデートチェック=「タイムアウト」政策=「常に」//デフォルト

更新チェック=「常に」政策=「常に」//常にリソースなどの変化にかかわらず、リソースをダウンロード:jarファイル

update check = "background" policy = "always" //キャッシュに既にダウンロードされているクライアントを開くことができます。リソースに変更があれば、バックグラウンドでダウンロードを開始します。新しいバージョンから開始されます。

`

関連する問題