如何打包Java应用程序并使其执行自动更新

时间:2018-12-26 07:54:33

标签: java maven

  • 我正在尝试创建新的Java应用程序(Maven项目),并且
    使它能够执行自动更新。我尝试过整合
    https://github.com/threerings/getdown可以做到,而且是可行的。
  • 下一步是制作分发包(对于特定情况,是为Mac创建新的dmg包,稍后为window创建msi)并使其可自动更新

我将getdown-launcher.jar添加到分发包中,并使用javafx-packages将其与application.jar一起提供。将* .dmg程序包部署到MacOS机器时,它将在/Applications/myApp.app/Contents/Java/文件夹中包含getdown-launcher.jar和application.jar。


问题是当我们尝试运行myApp时,它将运行application.jar,而不是 getdown-launcher.jar是因为getdown-launcher.jar只是打包时要复制的资源,并且mainClass是为application.jar声明的,因此,应用程序正常运行,没有使用getdown进行自动更新的可能性。


如果我使用终端并导航到/Applications/myApp.app/Contents/Java/。然后,我运行命令java -jar getdown-launcher.jar .,启动程序将正常运行并很好地执行自动更新。但是我不能要求用户做同样的事情,因为他们是非开发人员。


我的问题是:如何强制javafx-packages运行getdown-launcher.jar而不是application.jar的mainClass

谢谢大家

0 个答案:

没有答案