2011-01-30 22 views
9

我开发了一个Java Swing应用程序,它将安装在不同位置的多个客户端上。该应用程序将由我手动安装。但我想通过互联网自动更新应用程序,无需用户交互,类似于Google Chrome的更新方式。自动更新Java Swing应用程序有哪些替代方法?

在Java Swing中实现此自动更新功能的替代方法是什么?有没有什么好的第三方框架可以解决这个问题?或者是否有我可以使用的任何Java内置功能?

+2

[如何在Java中编写自我更新程序?](http://stackoverflow.com/questions/4706153/how-to-write-a-self-updating-program-in-java) – Bozho 2011-01-30 18:49:20

+0

@Bozho:太糟糕了,人们不会正确地标记他们的问题。我搜索了“挥杆更新”,但没有像这样的问题。然后我搜索“[摆动] [更新]”和“[摆动] [自动更新]”,只发现了一个问题,但这是关于一个标签。因此,如果人们可以重新提出问题,这样他们就不必在新问题上投票结束了。 – Jonas 2011-01-30 19:09:14

回答

9

使用Java Web Start部署应用程序,您可以轻松地将其自动更新。

3

那么,你有java web开始。不幸的是,它在某些情况下可能会出现问题。

还有jExpress,一个商业替代;这就是我们公司使用的,结果非常好。

编辑:

一个显示塞我碰上了,在JWS到hibernate.jar文件文件有关。不知道确切的原因,但下载抱怨签名时出错,尽管该文件已正确签名。以下是2010年7月某人发布的bug report;显然它可能已被固定为1.7版本。大!

其他怨恨我与JWS是普通的用户体验:

  • 用户需要下载一个.jnpl文件,这是不是一个真正的可执行文件。如果用户搞砸了文件关联,运气不好;你最好希望他听说“javaws”:)

  • 通过JWS(或其创建的快捷方式)运行该程序后,出现一个java启动画面,然后(有时)非常大的暂停,直到程序实际上开始。大多数用户可能会认为没有发生或程序崩溃。

5

只是想补充说Java Web Start还允许你设置系统和用户缓存(例如,如果一个桌面被许多用户共享,你只能将应用下载到系统缓存一次而不是每个用户)。

此外,如果您在网络驱动器或共享卷上共享某个位置的系统缓存,则该位置的所有桌面只能进行一次下载。

相关问题