2013-09-28 50 views
0

我正在這樣的環境中工作,我們必須每2個月更新一次客戶端jar的最大值。因此,作爲一種解決方案,我建議使用這種方法使用JNLP,我們不必擔心每個用戶都使用最新版本。因爲每個部門有超過100個客戶。JNLP不會自動更新JAR文件

但問題是JNLP未在以下新jar文件升級是my.jnlp文件

<?xml version="1.0" encoding="utf-8"?> 
<jnlp spec="1.0+" codebase="http://192.168.1.26:8080/" href="Test.jnlp"> 
<information> 
    <title>HC</title> 
    <vendor>DRL</vendor> 
    <homepage href="http://192.168.1.26:8080/" /> 
    <description>DRL</description> 
    <offline-allowed/> 
</information> 
<security> 
    <all-permissions/> 
</security> 
<resources> 
    <j2se version="1.6+" /> 
    <jar href="JnlpTest.jar" download="eager" /> 
</resources> 
<application-desc 
    name="HC-DRL" 
    main-class="com.drl.simap.client.module.ui.Splash" /> 
</jnlp> 

我的工作環境: Tomcat的6.0服務器和下面的教程 here

+1

請務必在使用檢查JNLP [JaNeLA(http://pscode.org/janela/)。 –

回答

0

如果您下載jnlp spec並查看第6章,有關於緩存的全部內容:「6下載和緩存Resour ces「

您可以嘗試向您的jar文件添加版本號,然後使用jnlp jar版本屬性。

如果您目前不這樣做,該規範規定如下:

使用基本的下載協議中的條目下載必須位於基於URL緩存 。從答覆的Last-Modified標題字段中的HTTP GET請求中獲取的時間戳應該是 ,與下載的資源一起存儲。時間戳用於 確定服務器上的副本是否較新。

JNLP客戶端不能假定HTTP GET請求將爲每個請求返回相同的JAR文件 。 JNLP客戶端必須定期 檢查Web服務器以查看是否有更新版本可用。建議使用此 檢查應用程序的啓動 之前執行,而是由一個JNLP客戶端使用的精確算法依賴於 特定的實現。例如,如果JNLP客戶端處於脫機狀態,則不需要執行該檢查,即 。

上述緩存規則也適用於使用擴展下載協議下載的擴展描述符 ,其中未指定版本屬性 。

+0

是的原因是jar簽名者和合法證書問題 – Sarz