Java - Distribution - How to distribute your (Desktop) Java application to your users ?


This page regroups all possible ways on how to create and deliver a Java release application to the final users.

There is two type of target for the installation of your application:

  • a web server: Your application will be installed in a server and the installation is documented by your
  • a desktop application : Your application should be installed on the target machine (ie desktop)



Embed a jar file into a Bash script file based on the ability to append a generic binary payload to a Linux shell script. See Add a Binary Payload to your Shell Scripts

# turn a jar with a Main-Class into a stand alone executable

(echo '#!/usr/bin/env java -jar'; cat blahblah.jar) > blah

# turn a jar with a particular main clas into a stand alone executable

(echo '#!/usr/bin/env java -jar package.MainClass'; cat blahblah.jar) > blah

exec java  -jar "$0" "[email protected]"

PK  4¬÷D              META-INF/MANIFEST.MFþÊ  SÁŽ›0¼#ñüÀ	nI*­¶RºQ›V½E/ösp62ζýûB²Ñ†²ÛCOÈxf<oÆÞ V’:ßÈvÊè2ˆCæ{ßa…mŸ6ð	*ƒÊ‚kyå{M[SCÚ¡ë	°S®þ7b,=ÙÔÂXxe (ìŒt?Ñ’4öH¾·:«ZÀGq¸yÈöÙüúÓÁêwT¤µÒÇ{»WÆ –óف'XÐBÂl.	å’ÑlÁ8+„Hî™ÊÁÚ4MÿèIv˜Ë¦)/bžä‰Ì2™åBÄI6?dyšKeá{kKèH\-[ä|&¤aöG|i‰+©ø»qã´6¨4¬kìºi>áE$Üõ"Ì÷––Wê™ì«Æ¶¦_ç.¸møžï]ý[«¼híC{Vıïýwñ35Æ<YuìýµuHÕÏEQeŠ^š‹¸ýù)ºäZâN
Fπ吤»$.Ó´L‹~Éúh¶Öü î`i’ÈÝàr2Å .............

App packager

All Installer that targets a operation system or the below Java installer.

Name Type Target OS File Format Comment
Jpackage tool Native Windows, Linux, Macos Application packages must be built on the target platform.
Jsmooth Native Windows Native Application
IzPack Installer Windows / Linux / Mac GUI (
Graal Native Native Windows Native

See also release to send your application to packager

Documentation / Reference

Powered by ComboStrap