I would like to know about the various options for distributing a Java application.
I know that you can
- Distribute the Source Code and let users compile it themselves, or provide make files, etc..
- Package it into a JAR, and have self extracting archives
- and (I'm sure, myriad other ways)
I'm hoping for some explanations about the most common options (and one's I haven't thought of) and in particular, do they require a user to have a JVM, or can it be bundled with one - personally I'm not too fond of an installer which halts due to a lack of JVM. Who says an app needs an installer, stand-alone solutions are fine too.
Also, worth asking is how to handle cross-platform distributing, exe's vs dmg's, etc...
My primary motivation for this question (which I appreciate is similar to others) is to find solutions that don't require the user to already have a JVM installed - but for completeness, I'm asking generally.
Thanks very much