Goals
- Pass all appropriate certification tests for Java SE 7
- Include a complete, native Cocoa-based UI Toolkit
- DONE
- Provide excellent performance
- Integrate into main-line OpenJDK 8
- DONE. Mac OS X is now 'just another platform' in OpenJDK 8
Minimum requirements to run
- An Intel Mac
- RAM: 2GB
- Mac OS X 10.7.3
Note that only Mac OS X 10.7.3 and higher 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
- Hardware: Any 64-bit capable Intel Mac
- RAM: 4GB
- Minimum OS version: Mac OS X 10.7.3
- Xcode: 4.1 or later from the Mac App Store (free download)
- Mercurial: http://mercurial.berkwood.com/
- X11
- On OS X Lion: Run X11.app to install as an additional download
- On OS X Mountain Lion: XQuartz
JTReg is not required to build but useful for running regression tests
Xcode
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. This issue is expected to be resolved in a future release of Xcode.
As of Xcode version 4.3 you have to manually install the command line compilers and tools. Start Xcode, open Preferences, choose the Downloads tab, and then install "Command Line Tools".
1. Get the code
For JDK 7u
hg clone http://hg.openjdk.java.net/jdk7u/jdk7u-dev cd jdk7u-dev chmod 755 get_source.sh ./get_source.sh
For JDK 8
hg clone http://hg.openjdk.java.net/jdk8/jdk8 cd jdk8 chmod 755 get_source.sh ./get_source.sh
2. Build
Set the LANG environment variable if it isn't set, then run make:
$ export LANG=C # bash, ksh, etc. % setenv LANG C # csh and friends
make ALLOW_DOWNLOADS=true ALT_BOOTDIR=`/usr/libexec/java_home -v 1.7+` HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`
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`
If you are building on Mountain Lion you must also define the path to the X11 includes:export CPATH="/usr/X11/include"* Steps for incremental building
3. Smoke Test
build/macosx-universal/j2sdk-image/bin/java -version
4. Install
mkdir -p ~/Library/Java/JavaVirtualMachines cp -R build/macosx-universal/j2sdk-bundle/jdk1.7.0.jdk ~/Library/Java/JavaVirtualMachines
5. Run
export JAVA_HOME=`/usr/libexec/java_home --version 1.7` $JAVA_HOME/bin/java -version
If you have the Java Developer Package installed:
$JAVA_HOME/bin/java -jar /Library/Java/Demos/JFC/SwingSet2/SwingSet2.jar
On Mac OS X 10.6 use the alternate location for the SwingSet2.jar:
$JAVA_HOME/bin/java -jar /Developer/Extras/Java/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!
- Join the web-discuss@openjdk.java.net mailing list
- Send an e-mail to the web-discuss@openjdk.java.net mailing list:
- Request editor rights to the "OpenJDK Mac OS X Port" wiki
- Include your Oracle SSO Username
TL;DR
- Download an official or unofficial build
- If you have /Applications/Utilities/Java Preferences.app:
- Open it
- Drag both "OpenJDK 7" entries to the top of the list
- Run "java -version" in /Applications/Utilities/Terminal.app