2013-12-16 207 views
3

我想要做的是讓我的主要Java應用程序使用Java Web Start更新另一個Java應用程序,然後在用戶請求時「靜靜地」運行第二個應用程序。從另一個應用程序啓動Java應用程序

我知道Runtime.exec調用javaws並靜默導入緩存中的第二個應用程序。我可以在第一個應用程序運行時做到這一點,然後我確信我有第二個應用程序的更新副本。我的問題是如何在不顯示Java Web Start「驗證應用程序」窗口的情況下運行第二個應用程序。

做一些研究我看不出如果我執行.jnlp時無法避免。我想知道是否可以運行第二個應用程序通過傳遞Java Web Start直接調用下載的jar文件。

任何想法?

感謝

+0

容易exe文件,這可能會導致安全問題 - 讓我們說你的應用程序a.jar文件的簽署和信任,你要創建應用程序B是不簽名和管理並從A運行。 – chro

回答

0

主要通過兩種可能性在這裏:

  • 可以使用JNLP Api service並使用DownloadService;
  • 或使用URLClassLoader並加載遠程類。
0

我不知道,如果這就是你想要做什麼,可能對你來說似乎周圍的伎倆,如果是的話請原諒我...

你爲什麼不運行它作爲EXE ,通過使用過程對象?

Process process = new ProcessBuilder("C:\\...Desktop\\MyExe.exe").start(); 

而且你可以將你的應用程序通過使用jsmooth

+0

我想到了Java Web Start解決方案,以便能夠使用webstart的自動更新功能更新第二個應用程序。如果我將其作爲exe分發,我將如何更新第二個應用程序。更新開始 - 停止第二個應用程序應該對用戶不可見? –

+0

我覺得無論如何,你應該通知用戶有關更新,一個java文件的exe文件的例子是[JDownloader](http://jdownloader.org/)。它是一款免費的開源下載管理工具,它還具有您想要的自動更新功能。 我希望我能幫上忙。 –

相關問題