java - 使用 UpdateFX 更新 JavaFX 应用程序

标签 java javafx auto-update

我使用UpdateFX更新我的应用程序的框架。因此,当我启动应用程序时,它会检查更新。这是检查较新版本的代码片段:

UpdateFX updater = new UpdateFX(this.getClass());
updater.checkUpdates();

如果有新版本,我会下载该文件。但是程序运行时如何重写呢?

最佳答案

UpdateFX 负责处理它。我建议您花一些时间浏览 UpdateFX 源代码。如果这样做,您会发现 InstallerService 实际上通过使用 ProcessBuilder 调用操作系统 native 命令来更新应用程序。

对于 MAC OS ,它将 PID 传递给 bash script ,这会使进程暂停,直到当前应用程序运行:

while /bin/ps -p $APP_PID > /dev/null; do 
  /bin/sleep 1; 
done

然后它使用 Platform.exit() 杀死当前正在运行的应用程序。 由于 bash 进程是独立的,因此它会一直执行

一旦应用程序退出,循环中的上述条件默认为false,并且脚本通过模拟磁盘镜像、removing the old filecopying the new file 到应用程序目录中继续执行。然后它将 opens 新安装的应用程序。

关于java - 使用 UpdateFX 更新 JavaFX 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36971900/

相关文章:

kubernetes - 使用Kubernetes或Minikube更新到Mac版Docker后,确保套接字安全的最佳方法是什么

java - 具有 x 和 y 坐标的计算区域,如何打破 x 和 y 中的一组数字?

java - 更改应用程序引擎开发的实体类问题

java - 是否可以在replaceAll上使用字符串变量?

java - SceneBuilder 不会加载我的自定义控件,它通过 FXML 引用另一个自定义控件

javafx - 让 JavaFX 等待并继续代码

c# - Code First - 外键引用在分配 Id 时未加载

java - Web 应用程序 - 身份验证/登录框架

java - JAR部署时文件目录错误

jQuery Flot 如何制作更新图表?