Java Software Distribution
So you've written this wonderful Java application. J2EE backends. Swing GUI. Everybody loves it. They all want it, willing to pay good money.
Now, how do you distribute the application? Windows people want InstallShield. Linux people want RPMs. Neither is appropriate.
You take great pains to craft an ear file that can be just "dropped into the App Server". And client jar files that can be started by the "java -jar" command. And a couple of simple property files for configuration.
I say, just jar them up into a bundle with a manifest file. And write a universal installer that fills out the configuration files on the target machine.
Here's how it should work:
$ jui big-app Found big-app at mirror.com, version 1.1, get it? y Put it in download/big-app? y [......................] 100% Configuring big-app, this will take just a minute Where is the deploy directory? /opt/jboss/deploy [......................] big-app.ear copied there Where to put the client jars? /opt/big-app/share/java [......................] 10 jars copied there Big-app needs some configuration. Where is the database? jdbc:oracle:thin:@box:DATABASE What color do you want? red [......................] Configuration done. $
It would be nice if it also manages dependencies.