我目前正在为一个多平台Java桌面应用程序开发一个非常复杂的更新系统。
我有一个“启动器”正在更新我的应用程序文件(调用webservice,更新文件等...),然后,“启动器”执行一个命令来启动我的应用程序(命令如“java -jar application”。 jar [... args ...])。
这个系统非常有效地更新我的所有应用程序文件,但我的问题是当我必须更新启动器时。 目前,我的解决方案是启动器通过下载其新版本并调用“交换器”程序来更新自身,该程序用新的启动器替换先前的启动器可执行程序,然后,交换器再次启动“启动器”。 还有一件事:启动器特定于操作系统,例如在Windows上,它是一个“* .exe”文件。这样做是为了能够将应用程序的特定文件与启动器等关联起来......
这个解决方案不是“性感”,但它有效。
我想知道是否存在更好的解决方案?有类加载器还是别的东西?
抱歉我的英文。
谢谢