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
Note | ||
---|---|---|
| ||
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
Code Block |
---|
hg clone http://hg.openjdk.java.net/jdk7u/jdk7u-dev cd jdk7u-dev chmod 755 get_source.sh ./get_source.sh |
For JDK 8
Code Block |
---|
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:
Code Block |
---|
$ export LANG=C # bash, ksh, etc. % setenv LANG C # csh and friends |
Code Block | ||
---|---|---|
| ||
make ALLOW_DOWNLOADS=true ALT_BOOTDIR=`/usr/libexec/java_home -v 1.7+` HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu` |
Code Block | ||
---|---|---|
| ||
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:
Code Block |
---|
export CPATH="/usr/X11/include" |
* Steps for incremental building
3. Smoke Test
Code Block |
---|
build/macosx-universal/j2sdk-image/bin/java -version |
4. Install
Code Block |
---|
mkdir -p ~/Library/Java/JavaVirtualMachines cp -R build/macosx-universal/j2sdk-bundle/jdk1.7.0.jdk ~/Library/Java/JavaVirtualMachines |
5. Run
Code Block |
---|
export JAVA_HOME=`/usr/libexec/java_home --version 1.7` $JAVA_HOME/bin/java -version |
If you have the Java Developer Package installed:
Code Block |
---|
$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:
Code Block |
---|
$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