实现 JavaFX 应用程序自动更新功能
2022-09-02 10:51:30
我即将编写一个新的跨平台应用程序,我选择了JavaFX,主要是因为它丰富的UI库(标准和第三方)以及它的本机数据绑定功能。我的应用程序将通过本机打包进行部署,这既是因为缺少PPAPI Java插件(Chrome将停止Chrome 42中的NPAPI,现在处于测试阶段),这将阻止Chrome用户使用WebStart,以及因为更“经典”的用户体验,因此WebStart和自动更新不在桌面上。
方案如下:
- 应用程序启动并检查更新
- 如果找到更新,请下载它们并将其放在临时文件夹中
- 在应用程序关闭时,将新下载的 JAR 文件写入旧文件
- 自动重新启动更新的应用程序
但是,我脑海中出现了一些问题(最初是这两个问题,但是一旦我有更多问题,我可能会立即更新这个问题):
- 这样做安全吗?我是否冒着JVM以某种方式变得疯狂的风险,如果我覆盖了应用程序生命周期中已经使用的一些JAR?
- 我正在努力寻找一种自动重新启动JavaFX应用程序的方法。这有可能吗?
谢谢大家的帮助。