2010-09-15 37 views
0

我有一個應用程序,我通過Java web Start進行部署。對於不同的啓動場景,我有幾個不同的jnlp文件。我正在使用DownloadService2定期檢查更新。當更新可用時,我會提示用戶。如果他們選擇更新,我會啓動一個javaws using Runtime.getRuntime().exec()的新實例,傳遞完整的jnlp URL,然後是System.exit(0)。實際上,這將啓動更新/重新啓動循環。如何在運行時在Java Web Start應用程序中獲得jnlp href屬性(類似於BasicService.getCodeBase())?

問題是,因爲我可以從幾個jnlp文件之一開始,所以我不能簡單地對url進行硬編碼。我知道我可以從BasicService.getCodeBase()獲得url的host:port部分,但有沒有辦法獲取url的文件部分?目前,我加入了「JNLP」參數傳遞給應用程序遞減類似於以下,這樣我可以從ARGS檢索:

<application-desc main-class="my.main.class"> 
<argument>jnlp=myjnlp.jnlp</argument> 
<application-desc/> 

我認爲這會工作,但我想知道如果我使它比它需要更困難。謝謝。

回答

0

我使用我的問題中描述的方法解決了這個問題。似乎沒有更好的方法。

0

也許最好使用DownloadService來提供此功能。

+0

我知道DownloadService類,但我不知道如何使用它來獲取當前運行的應用程序的jnlp文件的名稱。你能詳細說明嗎? – ajh158 2010-09-16 13:27:14

+0

我的歉意。我誤解了這個問題,並且DS不能解決這個問題。 :( – 2010-09-16 23:33:40

+0

沒問題,謝謝你的迴應。 – ajh158 2010-09-17 18:15:57

相關問題