开发者

What are the alternatives to auto-update an Java Swing application?

I have developed a Java Swing application, and it will be installed on multiple clients in different locations. The application will be installed manually by me. But I would like to auto-update the application over Internet, without user interaction, similar to how Google开发者_开发技巧 Chrome is updated.

What are the alternative ways to achieve this auto-update functionality in Java Swing? Is there any good third party frameworks that can solve this problem? or is there any Java built-in functionality that I can use?


Deploy the application using Java Web Start and you'll easily be able to have it auto update itself.


Just wanted to add that Java Web Start also allows you to set up system and user caches (i.e. if a desktop is shared by many users, you can download the app into the system cache only once and not for each individual user).

In addition, if you share the system cache on a network drive or a shared volume for a location, the download would only happen once for all desktops at this location.


Well, you have java web start. Unfortunately it can be buggy in some cases.

There is also jExpress, a commercial alternative; That's what we use in our company and the results are very good.

Edit:

One show stopper I bumped into, in JWS was related to hibernate3.jar file. Don't know exactly why but it errored out while downloading complaining about signature, although the file was properly signed. Here is the bug report posted by someone in july 2010; apparently it might have been fixed for 1.7 release. Great!

The other grudge I have with JWS is the plain user experience:

  • The user needs to download a .jnpl file which is not really an executable. If the user screwed up the file associations, bad luck; you'd better hope he heard of "javaws" :)

  • After you run the program through JWS (or the shortcut it creates) there's a java splash screen and then a (sometimes) very big pause until the program actually starts. Most users will probably think nothing happend or the program crashed.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜