如何在启动期间自动升级Java应用程序?

时间:2012-01-31 13:26:05

标签: java deployment auto-update

我在多台计算机上部署了一个Java 1.6应用程序(~30),并作为Windows服务启动。

我的主要问题是维护这些部署的工件:如果我开发了这个应用程序的新版本,我不想在每台机器上手动重新部署它。

理想情况下,当Windows服务启动时,它会检查远程服务器是否存在更新,如果找到,则会升级应用程序。 请注意,在此升级之后,可以再次重新启动服务。

可以将此机制与Maven快照验证进行比较:如果远程存储库上有较新版本的SNAPSHOT版本,则Maven会在运行之前下载它。 请注意,应用程序本身将部署在Maven存储库(在我们的案例中为Nexus),因此将针对此Nexus实例检查更新。

我实施此类自动应用程序更新的技术解决方案是什么?

不要犹豫,向我询问有关技术信息或背景的更多细节......

感谢。


编辑:正如Peter Lawrey所说,我可以使用Java Web Start。但是,如何将JWS集成到作为Windows服务运行的Java应用程序中?

2 个答案:

答案 0 :(得分:4)

我会看Java Web Start

答案 1 :(得分:1)

常见的技术是使用启动器。步骤是这样的:

  1. 启动启动器。
  2. 启动器检查是否应更新应用程序。如果是,则启动器更新应用程序(我将其视为“更新步骤”)。
  3. 更新步骤后,启动器将运行该应用程序。