我正在開發富客戶端Java應用程序,並且需要一個功能在新版本可用時執行自動更新。如何實現基於Maven自動更新的Java應用程序?
我正在使用maven構建。通過它自己,maven-dependency-plugin可以複製和下載給定POM的依賴關係。唯一的問題是如何將它集成到Java應用程序中。
有沒有人試過這個?
我正在開發富客戶端Java應用程序,並且需要一個功能在新版本可用時執行自動更新。如何實現基於Maven自動更新的Java應用程序?
我正在使用maven構建。通過它自己,maven-dependency-plugin可以複製和下載給定POM的依賴關係。唯一的問題是如何將它集成到Java應用程序中。
有沒有人試過這個?
我不確定你有什麼樣的應用程序,或者你是否需要maven來完成這項任務。首先,你需要檢查是否有新版本可用。如果答案是肯定的,那麼你的監聽器會觸發你的updateApplication(假設你這樣命名)方法。你的方法比下載所需的罐子,文件或類似的東西,到撥出的地方,取代舊的。但就像我說的,我不知道你的架構,它可能不適合每一種情況。
我假設你說的是庫/ jar(依賴)。在這種情況下,您刪除版本。因此,默認情況下,maven將採用最新版本。但在實際情況下,當您從一個版本移動到另一個版本時,需要進行迴歸測試,因爲版本中的某些更改可能無法正常工作。
對於客戶端,您可以編寫一個方法,在啓動應用程序後檢查更新。
Maven是一個配置管理和部署工具。 您需要運行時解決方案而不是構建/編譯時間。 如果你有一個Maven倉庫中心,你應該有一個下載器來從中檢索最新版本。 例如,您可以找到一些腳本如何從nexus下載工件。 Nexus有一個你可以使用的休息API。 這只是一個提示。
這似乎很奇怪。 Maven是開發過程中管理項目的工具。您可以嘗試在最終應用中添加POM,遵循Maven文件夾結構,並設置一個定期任務來調用Maven命令來強制下載罐子。 更好的解決方案是使用嵌入式Maven。無論如何,這將意味着與Maven及其配置的鬥爭。 – polypiel
這也意味着使用Maven構建應用程序堆棧的Maven部分......這不會是我實現自動更新功能的選擇,對某些Web服務器的簡單HTTP調用就足夠了。 – Gimby