簡體   English   中英

如何在Java中實現自動更新?

[英]How to implement auto update in Java?

全部:我在這里遇到問題,我的應用程序由一些jar文件和其他一些文件組成,它們都位於一個目錄中。 我正計划實現自動更新功能。 當應用程序知道服務器上有新版本時,它將下載一個zip文件到temp目錄。 下載后,它將詢問客戶是否要安裝它。 如果是,我的應用程序將退出,我需要解壓縮該zip文件並覆蓋原始目錄中的所有文件。 現在我想知道:

如何解壓縮文件並覆蓋目錄? 創建腳本(這意味着我需要為Windows編寫bat並為其他平台編寫shell)? 創建一個Java類來做嗎?

退出后如何啟動此腳本/ Java類?

作業完成后,如何刪除安裝程序? 將其保存在temp目錄中,並在新版本應用程序啟動時將其簽出?


從以后的評論:

我知道JWS是一個不錯的選擇,但是由於“我的老板被拒絕”的原因,我無法使用它。

由於應用程序。 有一個GUI(通過Swing標簽判斷),請使用Java Web Start進行部署:

Java Web Start(JWS)是Oracle Corporation的技術,用於直接從網絡或Internet鏈接啟動富客戶端(Swing,AWT,SWT)桌面應用程序。 它為支持Java的平台提供“一鍵式”安裝。

JWS提供了許多吸引人的功能,包括但不限於初始屏幕,桌面集成,文件關聯, 自動更新(包括延遲下載和更新的程序控制),按平台,體系結構或Java版本,配置對本機和其他資源下載進行分區運行時環境(最低J2SE版本,運行時選項,RAM等),使用擴展輕松管理公共資源。

可能有幾種方法。 既然您說應用程序是跨平台的,那么使用Java進行更新將是明智的。

您可以創建一個小的jar文件來處理更新過程。 它可以是初始應用程序的一部分(假設不會被更新),也可以是更新包的一部分(然后您也可以對其進行更新)。

因此,您的應用程序將下載zip,將其解壓縮到一個臨時目錄中並啟動更新程序,然后退出。 更新器將新的jar復制到舊的jar中。


但是最好不要重新發明輪子。 考慮使用JWS:它提供了更多功能,並且實現起來所需的精力更少。 必須有充分的理由拒絕JWS。 您應該通過解釋使用JWS的好處來說服老板。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM