2011-12-05 73 views
3

我有一個桌面應用程序,我想用JAVA Web start啓動該應用程序。當我第一次使用瀏覽器啓動時它工作正常,它會下載資源中定義的所有罐子。下次我使用JNLP或從瀏覽器運行它時,它不會下載任何罐子。所使用來自高速緩存或一些別的地方,我不知道罐子...如何確保最新版本的JAR與JNLP應用程序一起使用?

我想,每一個時,我的應用程序啓動在資源中定義的所有罐子時間下載

我的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

它會下載罐子,如果有新版本的話。如果不是,那麼真的不需要下載文件。

+0

它如何知道,新版本可用..你能解釋一下嗎... 我已經上傳我的jar在server.after做一些改變重新上傳它。但它仍然不會下載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」//將啓用已經下載到緩存中的當前客戶端打開,如果資源發生任何變化,它將開始在後臺下載。下次打開應用程序時將從新版本開始。

`

相關問題