如何编写可以在运行时进行自我更新的Java应用程序?

我想实现一个Java应用程序(服务器应用程序),该应用程序可以从给定的URL下载新版本(.jar文件),然后在运行时进行自身更新。

最好的方法是什么,有可能吗?

我猜该应用程序可以下载一个新的.jar文件并启动它。但是我应该如何进行切换,例如知道何时启动新应用程序然后退出。还是有更好的方法来做到这一点?


海绵宝宝撒
浏览 712回答 3
3回答

慕桂英3389331

我目前正在开发JAVA Linux守护程序,也需要实现自动更新机制。我想将应用程序限制在一个jar文件中,并提出了一个简单的解决方案:将更新程序应用程序打包在更新本身中。应用程序:当应用程序检测到较新版本时,它将执行以下操作:下载更新(Zipfile)提取Application 和ApplicationUpdater(均在zip文件中)运行更新程序ApplicationUpdater:运行更新程序时,它将执行以下操作:停止应用程序(在本例中为通过init.d的守护程序)复制下载的jar文件以覆盖当前的应用程序启动应用程序清理。希望它可以帮助某人。

jeck猫

我编写了一个Java应用程序,该程序可以在运行时加载插件并立即开始使用它们,这受到jEdit中类似机制的启发。jEdit是开源的,因此您可以选择查看其工作方式。该解决方案使用自定义的ClassLoader从jar中加载文件。加载它们后,您可以从新的jar中调用某些方法作为其main方法。然后,棘手的部分是确保您摆脱对旧代码的所有引用,以便可以对其进行垃圾回收。我在这方面还不是专家,我已经做到了,但这并不容易。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java