使用自己的Java软件的自定义更新实现

时间:2010-10-06 13:06:50

标签: java networking client-server

我有一台服务器和正常工作的客户端,它们相互传输文件并成功处理命令。问题是,一旦连接到服务器,服务器就可以要求客户自行更新。

由于我使用带有TCP连接的套接字做了所有事情,并且我无法使用java web start,我正在寻找一种可以更新软件的方法。

我想到的一件事是:

  • 让java调用另一个java软件并关闭它自己。然后另一个java软件将再次连接到服务器并等待更新请求,因此它可以替换当前版本中的所有文件(lib目录和jar主文件 - 我使用Netbeans)。

也许我可以将连接对象发送到要更新的软件,但主要只能接受String。

所以我在这里问两个问题:

  1. 这是一个很好的解决方案吗?还是有更好的一个?
  2. 如果我这样做,我如何将我的原型的客户对象从一个应用程序发送到另一个应用程序?

1 个答案:

答案 0 :(得分:1)

我建议在具有最新版app的服务器上保留一个属性文件。

每次启动应用程序比较版本(如果其可更新),然后下载临时目录中的所有新更新

成功下载后,调用另一个小应用程序将这些文件复制到您的lib文件,以便实际更新您的应用程序

最后提示用户该应用已更新并启动新更新的应用。我会说。