我有一个Java 1.6应用程序部署在几台机器上(〜30),并作为Windows服务启动。如何在启动时自动升级Java应用程序?
我的主要问题是维护这些已部署的工件:如果我开发此应用程序的新版本,我不想在每台机器上手动重新部署它。
理想情况下,当Windows服务启动时,它检查远程服务器是否存在更新,如果找到,则升级该应用程序。 请注意,在升级之后,服务需要重新启动才是可以接受的。
该机制可以与Maven快照验证进行比较:如果远程存储库上存在SNAPSHOT
版本的更新版本,则Maven会在运行该版本之前下载该版本。 请注意,应用程序本身将部署在Maven存储库(在我们的案例中为Nexus),因此将针对此Nexus实例检查更新。
什么是我的技术解决方案来实现这样的自动应用更新?
不要犹豫,问我更详细的技术信息或上下文...
感谢。
编辑:正如彼得Lawrey说,我可以使用Java Web Start的。但是,如何将JWS集成到作为Windows服务运行的Java应用程序中?
这不是java问题。更多的部署管理。 – Santosh 2012-01-31 13:29:12
尽管这并不是一个真正的Java问题,但我不明白这个问题的稍微更通用的版本(确保版本始终是最新的版本)无法在Java中解决。可能是网络类加载的结果? – 2012-01-31 13:37:26
@Santosh是和不。 Windows--特别是我们在这里使用的 - 没有提供所需的工具来简化这样的过程。给我Linux,ssh或一些bash脚本,我会很高兴:) – romaintaz 2012-01-31 13:38:22