如何创建一个自动更新自身的 Java 应用程序?

How create a Java application that auto-updates itself?

它就像一个可以自我更新的应用程序一样简单。 更具体地说,可能是一个从网络加载 jar 文件并将其替换为当前 jar 的启动器。

我想要的方法是:

我不知道类加载器或任何可遵循的方向。 所以我的问题是“如何使用类加载器创建自动更新 Java 应用程序?”。

P.S。我希望 java web start 成为最后的选择。有些代码行对我很有帮助。

编辑: 我完全理解你在理论上说的是什么。我正在寻找的是特定的 linkscode,我可以将其作为 reference。 这个问题不是重复的,因为我找不到链接或代码,而是理论。

您可以使用 URLClassLoader 从 URL 加载 jar 文件。请注意,URLs 也可能是本地文件,我建议您在加载之前在本地下载 jar 文件,而不是直接从网络加载。这样做的原因是您希望应用程序保持可用,即使用户无法访问您的服务器。

但是,我也建议不要采用这种方法。如果你想更新启动器怎么办?最好从主应用程序下载一个单独的更新程序应用程序,启动单独的更新程序应用程序,杀死主应用程序并更新它。