我正在尋找一個非webstart/jnlp解決方案。這是從服務器更新應用程序的最佳方式?
我想添加到我的應用程序的更新功能,該功能檢查ftp或http服務器並下載最新版本(如果有更新的版本)替換已更改的庫。
我該怎麼做?我想實現像JDownloaders更新一樣的東西。
謝謝
我正在尋找一個非webstart/jnlp解決方案。這是從服務器更新應用程序的最佳方式?
我想添加到我的應用程序的更新功能,該功能檢查ftp或http服務器並下載最新版本(如果有更新的版本)替換已更改的庫。
我該怎麼做?我想實現像JDownloaders更新一樣的東西。
謝謝
看起來你剛剛描述瞭如何做到這一點。添加檢查FTP或HTTP服務器並下載最新版本的更新功能。
請記住,您無法下載和覆蓋正在使用的文件。所以,你必須從我坐在哪裏設計的兩個選項:
當你啓動應用程序,複製所有jar文件和庫文件,以某種形式的/ temp文件夾中運行它們之前。然後,當您下載更新時,覆蓋原始位置中的文件。下一次應用程序啓動時,它將使用新文件。
當您啓動應用程序時,首先啓動更新程序。讓它連接到服務器並比較所有文件版本。它將能夠覆蓋任何應用程序文件,因爲它不使用它們。它只使用更新器jar。一旦完成並且所有內容都已更新,請使用實際應用程序從更新程序開始一個新進程。您還需要添加一些代碼才能更新updater jar。要麼使主應用程序能夠更新更新程序,要麼使用第一種技術並從updater jar的副本運行更新程序。
請記住,當您下載文件時,您應該將它們下載到臨時位置,然後在完成後將它們移動到正確的位置。這將確保您永遠不會將應用程序置於「半下載」狀態。
除此之外,讓它工作將涉及到很多測試。祝你好運!
看一看http://code.google.com/p/getdown/
據對計算器它似乎是Web Start的一個可行的替代this問題(至少值得擁有看看)。