自动更新java应用程序

自动更新java应用程序,java,deployment,auto-update,Java,Deployment,Auto Update,我正在构建Java应用程序,该应用程序将从web上免费下载。我想添加一个自动更新功能,以防修复bug或增强应用程序。对于自动更新,我将程序拆分为3个单元 基本-非常小的代码,将检查新版本的第二个单位(上传)更新和运行它 Uploader将检查项目的新更新,下载任何更新并运行它 主程序-包含主应用程序和所有模块 我这样做有两个原因: 我不希望客户端在任何更新的情况下重新启动应用程序 由于应用程序仍然是新的,我不希望出现任何用户无法运行或更新应用程序的问题,因此基础非常小,几乎没有错误 是否有通用的

我正在构建Java应用程序,该应用程序将从web上免费下载。我想添加一个自动更新功能,以防修复bug或增强应用程序。对于自动更新,我将程序拆分为3个单元

  • 基本-非常小的代码,将检查新版本的第二个单位(上传)更新和运行它
  • Uploader将检查项目的新更新,下载任何更新并运行它
  • 主程序-包含主应用程序和所有模块
  • 我这样做有两个原因:

  • 我不希望客户端在任何更新的情况下重新启动应用程序
  • 由于应用程序仍然是新的,我不希望出现任何用户无法运行或更新应用程序的问题,因此基础非常小,几乎没有错误
  • 是否有通用的Java方法/第三方来执行自动更新

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

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


    您可以尝试使用OSGi

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

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


    事实上,Web Star不会有任何帮助,因为我正在为java应用程序准备一个安装程序,因为需要很多其他文件和依赖项,“需要多少其他文件和依赖项”该语句中的任何内容都不能排除JWS。如果它们可以在Jar中提供,只需将Jar添加到运行时类路径中即可。但是,如果需要进行额外的设置/下拉操作(例如,将文件解包到特定位置),请使用Java编写代码并从中调用。嗯,出于许多原因,我需要我的程序检查更新,因为并非我在应用程序中使用的所有文件都需要上传。在某些情况下,在更新过程中,我需要删除客户端计算机中的一些文件,以及许多其他文件,因此我认为应该由codeWell Ndrew执行。谢谢,我会仔细阅读链接。谢谢帮助Java Web Start需要客户端机安装Java,有时我们需要将JRE与应用程序捆绑在一起,这样用户就不必自己动手了。