2

我有一个 java 应用程序,它在我的办公网络中使用了许多计算机。这是一个 java swing 应用程序,当有更新时,大多数时候我必须更新每台计算机。目前有一种自动更新这些应用程序的机制,但它似乎无法正常工作,即我在数据库中有一个简单的表,其中包含已发布的版本号,并且当应用程序启动时,它会根据数据库检查其版本。如果不相符,它会从我们安装在网络中的 FTP 服务器下载整个应用程序。

最近想创建一个服务器来做这个任务。但是,我不知道这是否是一个好习惯。

我的想法是,有一个服务器可以获取 FTP 服务器中每个文件的 md5 哈希,并将该哈希列表和文件列表发送到其客户端。当客户端(我的 Swing 应用程序)获得此列表时,它将这些哈希与其文件进行比较,如果存在不匹配,客户端可以从 FTP 服务器下载该文件。

请告诉我这是更新java应用程序的好方法吗?

4

2 回答 2

5

您应该使用Java Webstart

它专为这种情况而设计:从 Internet 和/或 Intranet 自动下载和更新应用程序。

它甚至可以做一些聪明的事情,比如应用程序版本控制,并确保只有在需要时才通过智能缓存下载新文件。

于 2012-05-14T02:18:43.410 回答
1

另外一个选项:

因为这是在内部网络中。如果您不想使用 webstart(最佳选择)。

创建一个使用 URLClass 加载器的小型前端应用程序,并始终动态加载它。因为这是一个内部网络,除非应用程序很大。启动时间应该少于几秒钟。

于 2012-05-14T02:23:24.187 回答