Instalador para Mac de uma aplicação Java

Excelente artigo de como criar um installer para Mac de uma aplicação Java. Como esse artigo me salvou legal, copio ele aqui, só pra não perder.

How to Create a Mac OS X Installer for a Java Application
(Updated for Mac OS X 10.5 — Leopard)

With some simple steps you can turn your Java Swing program (.jar) into a proper Mac OS X application with a native installer. The instructions below step you through the process from scratch with a sample program called
"It's Showtime!" which simply displays the current time. Once you have successfully completed the tutorial with the sample Java program, modify the steps to work for your Java program.

1) Install Xcode

ScreenApple's Xcode suite includes development tools you'll need to bundle and package a Java program. First, download Xcode for Mac Development (version 3.1.1 or later) and open the downloaded .dmgfile. Now run the "XcodeTools.mpkg" file and complete the Xcode installation with all the default options.

Before continuing to the next step, it's a good idea to perform a "Software Update..." to make sure your OS files are current.

2) Launch Unix Terminal

ScreenUsing "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.

3) Make Project Folder

ScreenAt the Unix prompt, enter these two commands:
mkdir ItsShowtime
cd ItsShowtime
The first command creates a folder called "ItsShowtime", and the second command moves you into the new folder.

4) Write Some Java Code

ScreenMac OS X comes with a simple but effective text editor called Pico. Use the following command to create and edit a new Java file:
Enter the following code:

import java.util.Calendar; import javax.swing.*; public class ShowTime { public static void main(String[] args) { JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setTitle("It's Showtime!"); f.getContentPane().add(new JLabel( Calendar.getInstance().getTime().toString())); f.pack(); f.setVisible(true); } }

Use to exit Pico.

5) Compile Java Program

ScreenBack at the Unix prompt, compile your Java program into a class file:
ls -la
We could run the class file directly, but a class file is cumbersome. Instead we will create an executable JAR file.

6) Make Executable JAR

ScreenBefore we make an executable JAR file, we need a manifest file to indicate which class contains the "main" function. We'll use Pico again:
pico MainClass.txt
Our manifest file will only have one line:


Main-Class: ShowTime

Exit Pico and use the following "jar" command to create the "ShowTime.jar" file:
jar cmf MainClass.txt ShowTime.jar *.class
ls -la
Now test your executable JAR with the following command:
java -jar ShowTime.jar
The "It's Showtime!" window with the current time should display in the upper left corner of the screen. Click the red dot to exit the program.

While the manual commands for steps #5 and #6 above work fine, you can automate them using Ant with this build.xml file.

7) Create Application Icon

ScreenThe 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 () this sample PNG image to the "Desktop": ShowTime.png

Then move the file into the "ItsShowtime" folder with the following command:
mv ../Desktop/ShowTime.png .
Now we can create the icon file.

  1. Use "Finder" to navigate into the "Developer:Applications:Utilities" folder and double-click "Icon Composer".
  2. Go back to "Finder" and navigate to your "ItsShowtime" folder (which is in your home folder).
  3. Drag the "ShowTime.png" image file into the "128" box on the "Icon Composer" screen. When prompted about sizes, choose "Copy to all smaller sizes" and then click the "Import" button.
  4. Go into the "File" menu and select the "Save" option. Then deselect the "Hide extension" option and save as "ShowTime.icns".
  5. Quit "IconComposer".
Next we'll create a Mac application (with your new icon).

8) Bundle the JAR

ScreenUsing "Finder", navigate into the "Developer:Applications:Utilities" folder and double-click "Jar Bundler".

  1. For the "Main Class:", use the "Choose..." button and go to and choose "ShowTime.jar".
  2. Check the "Use Macintosh Menu Bar" option.
  3. 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 "ItsShowtime" folder).
  4. Click the "Properties" tab and enter "1.0" into the "Version:" field.
  5. Also enter "1.0" into the "Get-Info String:" filed.
  6. Click the "Create Application..." button.
  7. Navigate into the "ItsShowtime" folder.
  8. In the "File:" field, enter "Show Time".
  9. Click the "Create" button.
  10. Quit "Jar Bundler".
You now have a proper Mac application. Next we'll create an installer for your application.

9) Create Mac Installer

ScreenUsing "Finder", navigate into the "Developer:Applications:Utilities" folder and double-click "PackageMaker".

  1. In the "Organization:" field on the "Install Properties" window, enter "com.centerkey". Then click "OK".
  2. In the "Title:" field enter "Show Time".
  3. Go to the "Project" menu and select "Add Contents...". Navigate to "ItsShowtime" folder and select "Show Time".
  4. Click on the "Contents" tab. Check the "Include root in package" option and click the "Apply Recommendations" button.
  5. Now click the "Build" (hammer) button. In the "Save As:" field, enter "ShowTimeInstaller.pkg". Click the "Save" button and then the "Return" button.
  6. Go to the "File" menu and select "Save". In the "Save As:" field, enter "ShowTime.pmdoc" and then click "Save".
  7. Quit "PackageMaker".
Your installer is done, but it's not yet download friendly.

10) Put Installer on a Web Page

ScreenBefore putting the installer on the web, we need to zip it up into a single file. Use "Finder" to navigate to the "ItsShowtime" folder. Create a zip of "ShowTimeInstaller.pkg" using the "Compress" option on the menu.