自动更新java应用程序

我正在构建将从Web上免费下载的Java应用程序。 我想在修复错误或增强应用程序时添加自动更新function。 对于自动更新,我将程序拆分为3个单位。

  1. Base – 非常小的代码,将检查新版本的第二个单元(Uploader)更新并运行它
  2. 上传者将检查项目的新更新并下载任何更新并运行它
  3. 主程序 – 包含主应用程序并包含所有模块。

我上面做了两个原因:

  1. 我不希望客户端在任何更新的情况下重启应用程序
  2. 由于应用程序仍然是新的,我不希望用户无法运行或更新应用程序的任何问题,因此Base非常小并且几乎没有错误。

是否有常见的Java方法/第三方进行自动更新?

Java Web Start (JWS)是Oracle Corporation用于直接从网络或Internet链接启动富客户端(Swing,AWT,SWT)桌面应用程序的技术。 它为支持Java的平台提供“一键式”安装。

JWS提供了许多吸引人的function,包括但不限于启动屏幕,桌面集成,文件关联, 自动更新( 包括延迟下载和程序化更新控制),按平台,体系结构或Java版本,配置对本机和其他资源下载进行分区运行时环境(最小J2SE版本,运行时选项,RAM等),使用扩展轻松管理公共资源。

您可以尝试使用OSGi。

如果您将规划应用程序的正确模块化结构,则更新应用程序模块时可能无需重新启动应用程序。 您只需要重新启动模块,这取决于更新的模块。 重置相关模块将在应用程序中进行,无需重新启动应用程序。

我更喜欢使用Felix OSGI应用程序。

Apache Felix