2012-04-27 48 views
4

我面臨着在桌面JavaFX應用程序中實現自動更新功能的問題。我不確定它是否有所作爲 - 但是它將通過雙擊.jar文件運行,並且顯然將具有GUI表示。將自動更新功能集成到Java應用程序

現在的問題:

我需要在應用程序的執行進行自動更新 - 這意味着與服務器同步,並檢查是否有可用的更新:如果是這樣,然後下載新版本並重新加載當前一。

我對這個問題的任何最佳方法都不是很熟悉。這是我需要解決,因爲它似乎是:

一個 - 以某種方式下載到當前運行文件駐留使用相同的文件名相同的位置(據我所知的Windows故意放置一個塊上每個正在運行的文件/程序 - 聲稱它正在使用中)

- 想出辦法如何這個應用程序將不會在其終止死(以重新加載新的v內啓動一個新的進程)

我的數字B可以以不同方式操作 - 無論如何,結束結果是我必須在同一個目錄中具有與最初啓動的應用程序相同的文件名。

我想更復雜加到由於事實,這應該是多平臺的能力 - 的Windows + MacOSX的。無論如何,我會很高興看到相關的建議,甚至相對於只有一個操作系統。

+0

對於一個,你可以重命名正在運行的應用程序,並用正確的名稱下載新版本。 – 11684 2012-04-27 22:18:01

+0

@ 11684正確,但是我將如何在正在運行的進程(在Windows中)執行此操作? – XXL 2012-04-27 22:19:02

+0

好點。也許某些在新實際應用程序安裝之前運行的shell腳本?在我發佈之前,我對我的評論並沒有很好的想法。 – 11684 2012-04-27 22:40:07

回答

6

不要打擾重新實現java之前解決的問題。它被稱爲Java Web Start。它完全符合你的需求。它甚至是多平臺!

+0

嗯,請跟我一起,這樣做意味着它只能在瀏覽器中工作? – XXL 2012-04-27 22:24:55

+0

不,它也適用於桌面應用程序。您將雙擊您的JAR文件,它將啓動JWS(Java Web Start)並在需要時更新應用程序。否則,它只會運行應用程序。我告訴你:它完全是**你正在尋找的東西。 – 2012-04-27 22:26:51

+0

我有點努力找到你所描述的指南/嘖嘖。任何鏈接,真的嗎?我發現的大部分內容都已經過時,或者在Web瀏覽器中討論JWS。 – XXL 2012-04-28 09:21:29

相關問題