I am working on a simple desktop java application. I would like to make it as seamless to install for end users as possible. E.g. similar to how Minecraft is distributed - a simple executable for OS X and an EXE file for Windows.
What tool should I use?
Users of your Java app must have the JRE installed in order to run it.
You can either tell them to install Java first, or distribute JRE with your app, as Processing does.
Note, however, that your packaged program will be heavy if you include JRE with it. And, if you want to do that, users will need to download the appropiate package for their platform.
They take your Java app as input and wrap them in an executable (for a specified platform). You can customize them as you like; and if the user doesn't have Java installed, the download page will open.
Some examples are Launch4J, JSmooth and Jar2EXE.
They are independent applications configured to copy your app files to the user's computer and (optionally) create a shortcut.
Some installers are written in Java, so they're multiplatform. In this case, the installer is a .jar
.
Some others are platform-dependent, but you have the advantage that you don't need to wrap them.
Java installers: IzPack, Packlet, PackJacket, Antigen, …
It's a Java feature that allows you users to easily run your apps. You give them a .jnpl
file,
they open it, and Java downloads the latest version of your app and runs it. No packaging troubles!
See the complete list of resources here.