我有一個應用程序,我通過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/>
我認爲這會工作,但我想知道如果我使它比它需要更困難。謝謝。
我知道DownloadService類,但我不知道如何使用它來獲取當前運行的應用程序的jnlp文件的名稱。你能詳細說明嗎? – ajh158 2010-09-16 13:27:14
我的歉意。我誤解了這個問題,並且DS不能解決這個問題。 :( – 2010-09-16 23:33:40
沒問題,謝謝你的迴應。 – ajh158 2010-09-17 18:15:57