A prototype launcher stub is present in the source code at: The Xcode project file in that directory will build a shell.app with the launcher stub and an example Info.plist. The next steps for this code is to be adapted into the JDK's proper Makefile-driven build system, and to create an artifact in the standard JDK bundle.
After that, a script or Ant target which can be driven by and IDE should take that artifact and a application descriptor to create a proper.app. Contributed steps to bundle from the macosx-port-dev@openjdk.java.net mailing list: - - STEP 1.
I’ve figured out how to bundle the Oracle Java Runtime Environment (JRE) 7 with the Mac version of Archi, an Eclipse-based Rich Client Platform (RCP) application that I developed.There’s no real need to do this at the moment, because the first time an application with a dependency on desktop Java, such as Archi, is run on a Mac, and Java is not currently installed on the system, the user.
Mac Bundle Box
Checkout, download, install & build the MacOS OpenJDK package as described on the Oracle OpenJDK Mac OS X Port page: STEP 2. Identify & launch the JavaAppLauncher.xcodeproj located in your /YOURINSTALLPATH/jdk7u-dev/jdk/src/macosx/bundle/JavaAppLauncher/ directory. In the Xcode project repair any undefined file paths. These would be indicated in the files tab in the Xcode project left side bar in red.
I had to update the 1.7.0.jdk & 1.7.0.jre paths to the bundles stored in /YOURINSTALLPATH/jdk7u-dev/build/macosx-amd64/j2sdk-image/ directory and the /YOURINSTALLPATH/jdk7u-dev/build/macosx-amd64/j2re-image/1.7.0.jre respectively. I also had to update all the files in the include diretory which included: /include/classfileconstants.h /include/darwin/jawtmd.h /include/darwin/jinimd.h /include/jawt.h /include/jdwpTransport.h /include/jni.h /include/jvmti.h /include/jvmticmlr.h All the above I found in the /YOURINSTALLPATH/jdk7u-dev/build/macosx-amd64/include/ directory. I also need to find the /frameworks/Cocoa.framework/Headers/Cocoa.h reference. I used the one hosted in /System/Library/Frameworks/Cocoa.framework/Versions/A/Headers/ directory. I specified all the 'Location' paths in the Xcode UI as Absolute Path STEP 4. Build the project in Xcode. If all goes well you'll find the product JavaAppLauncher.app which will give you a template to base your own app bundle from.
Xcode will give you the path of the project output. Mine was: /Users/memyselfandI/Library/Developer/Xcode/DerivedData/JavaAppLauncher-aukxmnehzjucapfxrjaqkfoicyak/Build/Products/Debug/JavaAppLauncher.app STEP 5. Copy/Paste the JavaAppLaucher.app/Contents/MacOS/JavaAppLauncher stub as well as the JavaAppLaucher.app/Contents/Plugins directory (the entire contents) into your own Java Application Bundle. Also copy 'YourExecutableJarFile.jar' into a YourApp.app/Contents/Java/ directory.
Edit your info.plist to look something like: NOTE: /$JAVAROOT/ is now a /Content/Java directory an not '/Contents/Resources/Java' as in the older bundles.