"Automatic updates" for Java (desktop) application?

Have you looked at the Java Web Start? It checks for updated module on the server and downloads it only if required otherwise things are cached locally on the client PC and starts from there.


I believe install4J now offers this functionality as part of their install builder (http://www.ej-technologies.com/products/install4j/overview.html) We've been wanting to check it out but haven't had a chance yet.


Web Start is great if you have infrequent updates and good bandwidth.

If not, however, you need something else. I worked on a project where we had frequent updates and horrible bandwidth. We rolled our own classfile server; the startup code would talk to the server to see if updates were needed on a per-class basis. If so, the changed classes were downloaded and the application continued as normal.

It was actually not terribly complicated, so don't be afraid to roll your own if existing tools don't work.


Take a look at Equinox p2, which is probably what you meant by "Eclipse RCP's OSGi stuff"... AFAIK you will need to OSGi-ify your app to use p2 (which at the very least means making your whole application one big bundle).