Actually I am not expert on this area (java packaging/installation), but I’d like to share some information for further discussion.
Native package support
Native package support is good experience for customer mostly and it shall be more smooth during installation
While it will requires people to have more knowledge on different platform, solaris package, rpm package (Redhat, SuSe), deb package (Ubuntu, Debian), and different OS platform has different package way and directory.
Zip file with scripts
If the installation is not complex (like java), it may be able to delivered into zip files only, and call/run different scripts for different platform. One example is sonar http://www.sonarsource.org
When u unzip the zip files, you can see different folders for different platform, which has the native wrapper for execution.
And checking it, they use the java service wrapper : http://wrapper.tanukisoftware.org/doc/english/download.jsp
Binary installer (jar as well)
Also possible to use native installation wrapper files (MSI for windows, jar/shell script for other platform) like, lzPack http://izpack.org is good example, it can help to generate cross platform jar files.
Then it is always done like
1: java -jar installer-filename.jar.
Which method do u use ?