Jar Bundler allows Java developers to package their program’s files and resources into a single double-clickable application. This is made possible by Mac OS X’s bundle technology. For more information on Jar Bundler, please see Inside Mac OS X: Jar Bundler.
A bundle is a directory in the file system that stores executable code and the software resources related to that code. (It can contain only executable code or only software resources, but that is unusual). The bundle directory, in essence, “bundles” a set of resources in a discrete package. These resources include images, sounds, and localized character strings that are used by some piece of software. Because code and associated resources are in one place in the file system, installation, uninstallation and other forms of software management are easier. For more information on bundles, see Inside Mac OS X: System Overview at http://developer.apple.com/techpubs/macosx/Essentials/SystemOverview/.
Further, Jar Bundler lets you modify certain properties so your Java application behaves as a better Mac OS X citizen, and specifies arguments sent to the Java virtual machine (VM) when the application is started.
Currently Jar Bundler can only build new application bundles from scratch. It cannot open existing Java application bundles and let you modify them.
For more information about the implemenation and features of Java on Mac OS X, see Java Development on Mac OS X, at http://developer.apple.com/techpubs/macosx/Java/JavaDevelopment/.