我们做了类似的事情。我们只是通过https获取并下载了jar。要知道您是否需要一个新的,我们只需检查流的大小即可。从理论上讲,这可能不起作用,但实际上它确实起作用。我们甚至得到了罐子所在的目录清单,对其进行了解析并下载了每个罐子,因此更加奇特,因此罐子的名称也不是硬编码的。不过,有几点丑陋之处。
首先是启动一个新的jvm进程来启动新的jar,这不是那么简单。
其次,如果更新在中间失败,则必须确保您不会破坏jar。
最后,无法使用此过程来更新引导jar。

我们做了类似的事情。我们只是通过https获取并下载了jar。要知道您是否需要一个新的,我们只需检查流的大小即可。从理论上讲,这可能不起作用,但实际上它确实起作用。我们甚至得到了罐子所在的目录清单,对其进行了解析并下载了每个罐子,因此更加奇特,因此罐子的名称也不是硬编码的。不过,有几点丑陋之处。
首先是启动一个新的jvm进程来启动新的jar,这不是那么简单。
其次,如果更新在中间失败,则必须确保您不会破坏jar。
最后,无法使用此过程来更新引导jar。