
How to Create a Mac OS X Installer for a Java Application
(Updated for Mac OS X 10.6 — Snow Leopard)
Screenshot Icons
↓
1) Launch Unix Terminal
![]()
Using "Finder" go into "Applications" and then open the "Utilities" folder. Scroll down until you see "Terminal". Open "Terminal" and you're now at the Unix prompt.
2) Make Project Folder
At the Unix prompt, enter these two commands:
cd showtime
3) Write Some Java Code
Mac OS X comes with a simple but effective text editor called Pico.
Use the following command to create and edit a new Java file:
ShowTime.java
Use <control-x> to exit Pico.
4) Compile Java Program
Back at the Unix prompt, compile the Java program into a class file:
ls -l
5) Make Executable JAR
Before we make an executable JAR file, we need a manifest file to indicate which class contains the "main" function. We'll use Pico again:
MainClass.txt
Main-Class: ShowTimeExit Pico and use the following "jar" command to create the "ShowTime.jar" file:
ls -l
While the manual commands above for steps #4 and #5 work fine, you could automate them using Ant with this build.xml file.
6) Install Xcode for Mac Development
Apple's Xcode suite includes the developer tools you'll need to create an icon and installer. Download Xcode for Mac Development and open the downloaded .dmg file. Then run the "XcodeTools.mpkg" file and complete the Xcode installation with all the default options.
7) Create Application Icon
![]()
The default icon for an executable JAR is a coffee cup. To add a custom icon, we need to use the "Icon Composer".
Download and save (<control-click>) this sample PNG image to your "Desktop": ShowTime.png
Then move the file into the "showtime" folder with the "mv" command:
ls -l
Steps:
- Use "Finder" to navigate into the "/Developer/Applications/Utilities" folder and double-click "Icon Composer".
- Go back to "Finder" and navigate to your "showtime" folder (which is in your home folder).
- Drag the "ShowTime.png" image file into the "128" box on the "Icon Composer" screen.
- Go into the "File" menu and select the "Save" option.
- Click the down triangle button to show the file navigation options and navigate to the "showtime" folder.
- Deselect the "Hide extension" option and save as "ShowTime.icns".
- Quit "IconComposer".
8) Bundle the JAR
Using "Finder", navigate into the "/Developer/Applications/Utilities" folder and double-click "Jar Bundler".
Steps:
- For the "Main Class:", use the "Choose..." button and go to and choose "ShowTime.jar".
- Check the "Use Macintosh Menu Bar" option.
- Use the "Choose Icon..." button to choose the "SnapBackup.icns" file (you'll need to navigate to the very top-level folder and then into the "Users" folder and your home folder to eventually find the "showtime" folder).
- Click the "Properties" tab and enter "1.0" into the "Version:" field.
- Also enter "1.0" into the "Get-Info String:" filed.
- Click the "Create Application..." button.
- Navigate into the "showtime" folder.
- In the "File:" field, enter "Show Time".
- Click the "Create" button.
- Quit "Jar Bundler".
9) Create Mac Installer
Using "Finder", navigate into the "/Developer/Applications/Utilities" folder and double-click "PackageMaker".
Steps:
- In the "Organization:" field on the "Install Properties" window, enter "com.centerkey". Then click "OK".
- Click on the "Configuration" tab, and in the "Title:" field enter "Show Time".
- Go to the "Project" menu and select "Add Contents...". Navigate to "showtime" folder and then select and choose "Show Time".
- Deselect "Allow Relocation" (to prevent the build version from being confused with the installed version).
- Click on the "Contents" tab. Check the "Include root in package" option and click the "Apply Recommendations" button.
- Now click the "Build" (hammer) button. In the "Save As:" field, enter "ShowTimeInstaller.pkg". Click the "Save" button and then the "Return" button.
- Go to the "File" menu and select "Save". In the "Save As:" field, enter "ShowTime.pmdoc" and then click "Save".
- Quit "PackageMaker".
10) Put Installer on a Web Page
Before putting the installer on the web, we need to zip it up into a single file. Use "Finder" to navigate to the "showtime" folder. Create a zip of "ShowTimeInstaller.pkg" using the "Compress" option on the <control-click> menu.
Back at the Unix prompt in the "Terminal", create a test web page:
download.html
<html> <body> Download: <a href="/ShowTimeInstaller.pkg.zip"> ShowTimeInstaller.pkg.zip</a> </body> </html>After exiting Pico and saving the web page (.html) file, copy it and the .zip file to your personal web server folder with the command:
Steps:
- Go to the "Apple" menu (
) and choose "System Preferences...". - In the "Internet & Wireless" section, click "Sharing".
- Check the option for "Web Sharing" service.
- Quit "System Preferences".
Launch Safari and go to http://localhost/~you/download.html where "you" is your user name. Click the "ShowTimeInstaller.pkg.zip" link and the install should automatically start within a few seconds. After completing the installation, go into the "Applications" folder and run the "Show Time" application. Be sure to check out the "About Show Time" option on the "Show Time" menu.
Troubleshooting
If your application does not install and run properly, the first place to look is step 5, which creates the JAR file. Try double-clicking the JAR file to launch your application. If it fails to launch, you need to fix that before continuing.The next place to look is step 7, which creates the application file. Try double-clicking the .app file. If it fails to launch, you need to fix that before continuing.
Do the same for step 9, which creates the installer file (.pkg).
Wrap-Up
Here's the finished installer you can try out yourself:For an example of how you might distribute your installer, take a look at:
If you want to add a "Visit Web Site" button to your application, check out:
That's it.
Mac Java!
Dem Pilafian
http://www.centerkey.com/mac/java
![]()




