In order to be able to edit pages in this wiki, please read the blog post explaining how to become an editor.

Goals

Minimum requirements to run

Note that only Mac OS X 10.7 will be an Oracle-supported platform. It should continue to run on 10.6.8 + Java for Mac OS X 10.6 Update 6 but that is not guaranteed. As of 1-Jan-2012 there are no plans to introduce 10.7-only APIs into the codebase.

Prerequisites to build

If you install Xcode after installing the Apple provided Java for Mac OS X, you will have to re-install the same Java for Mac OS X or a later developer preview to correct headers in the JavaRuntimeSupport framework.

1. Get the code

hg clone http://hg.openjdk.java.net/jdk7u/jdk7u-osx
cd jdk7u-osx
chmod 755 get_source.sh
./get_source.sh

2. Build

make ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true ALWAYS_PASS_TEST_GAMMA=true ALT_BOOTDIR=`/usr/libexec/java_home -v 1.6` HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`

3. Smoke Test

build/macosx-universal/j2sdk-image/1.7.0.jdk/Contents/Home/bin/java -version

4. Install

mkdir -p ~/Library/Java/JavaVirtualMachines
cp -R build/macosx-universal/j2sdk-image/1.7.0.jdk ~/Library/Java/JavaVirtualMachines

5. Run

export JAVA_HOME=`/usr/libexec/java_home --version 1.7`
$JAVA_HOME/bin/java -version
$JAVA_HOME/bin/java -jar /Developer/Extras/Java/JFC/SwingSet2/SwingSet2.jar

On Mac OS X 10.7 use the alternate location for the SwingSet2.jar if you have the Java Developer Package installed.

$JAVA_HOME/bin/java -jar /Library/Java/Demos/JFC/SwingSet2/SwingSet2.jar

6. Test

Download jtreg to run the tests in the /jdk/test directory.

Bugs!

File new bugs at http://bugreport.sun.com/bugreport/. Please check out the bug reporting guidelines if you haven't filed against the project before.

Questions?

Please join the macosx-port-dev mailing list and ask!

See something wrong on this page? Fix it!

TL;DR

  1. Download an official or unofficial build
  2. Open /Applications/Utilities/Java Preferences.app
  3. Drag both "OpenJDK 7" entries to the top of the list
  4. Run "java -version" in /Applications/Utilities/Terminal.app