Java is open-source, fortunately. Accessing its source code is, unfortunately, not so intuitive on Mac OS X Lion when using Eclipse. This article will guide you through the steps required to be able to view Java’s source code in Eclipse.
Under Oracle Java, only a single version of the JRE can be installed at a time. For more information, see JRE 7 Installation for Mac OS X. To access the Java Control Panel, click the Java icon in the System Preferences panel. If the Java icon is not present (under the Other category) in System Preferences, you do not have an Oracle JRE installed. Mac OS X 10.6 and below: Apple's Java comes pre-installed with your Mac OS. Mac OS X 10.7 (Lion) and above: Java is not pre-installed with Mac OS X versions 10.7 and above. To get the latest Java from Oracle, you will need Mac OS X 10.7.3 and above. If you have Java 7 or later versions, you will see a Java icon under System Preferences. See the Mac OS X Platform Install FAQ for general information about installing JRE 7 on Mac OS X. Java Development Kit for Mac (also known as JDK) is a highly professional cross-platform SDK platform created and regularly supported by Oracle Corporation.With a goal of providing specific implementation of Java SE, Java EE and Java ME platforms. As of the release of Java for Mac OS X 10.6 Update 3, the version of Java that is ported by Apple, and that ships with Mac OS X, is deprecated. This means that the Apple-produced runtime will not be maintained at the same level, and may be removed from future versions of Mac OS X. Site sponsor Operator Headgap Systems specializes in heavily upgraded Macs capable of running older versions of Mac OS X (and even Mac OS 9). Does Mac OS X 10.7 'Lion' support Java and Java applications? Mac OS X Lion does support Java and Java applications, but the runtime environment is not installed by default.
- 2Downloading the JDK
- 3Using the JDK in Eclipse
Determine your Java version ∞
Apple uses a different versioning system for Java than Oracle. For example, on my system the actual Java version is “1.6.0_29” (determined by calling java -version
from a terminal), but this version comes as “Java for Mac OS X 10.7 Update 1” through Apple’s Software Update.
To find out which Java Update you’re running, go to the System Preferences
and click Software Update
.
Then you click on Installed Software
and search the list for the latest Java update (here “Update 1”).
Update Java Mac Os
That’s the “Java version” you need to know.
Downloading the JDK ∞
When working with Java, you need to distinguish two Java software package types:
- JRE: The “Java Runtime Environment” is necessary to run Java application. You cannot, however, compile Java programs with just the JRE.
JDK: The “Java Development Kit” is required when you want to compile Java programs. The JDK includes the JRE, and also comes with Java’s source code.
Remark: Eclipse comes with its own Java compiler. That’s why you don’t need to install a JDK to create Java programs with Eclipse. Eclipse doesn’t ship with the Java source code though. That’s why we still need the JDK.
The JDK for Mac OS X comes as “Java Developer Package”. You can download it here:
You’ll need an AppleID to download the JDK. Fortunately, it’s free but you still need to register it. (Tip: You can use the same you use in the iTunes Store.) After logging in, type “java developer package” in the search field (see screenshot).
Make sure the you download the Java Developer Package matching your Java version. In my case, this is “Mac OS X 10.7 Update 1”.
Java For Mac Os Lion
Note: Don’t confuse “10.7” for Java 7. It’s still Java 6. (So don’t download a “10.6” version when you’re running Mac OS X Lion.)
Then install the JDK. This will install the JDK under:
Note: There’s also the directory /System/Library/Frameworks/JavaVM.framework/
. However, this directory seems to be deprecated.
The Java source code will be located here:
Check an already installed JDK ∞
Java For Mac Os X
To check whether you’ve already installed a JDK, check the list of installed updates (see above) for an entry called “Java Developer Package”.
Note: Unfortunately, the Java Developer Package listed in the list doesn’t have any (visible) version information attached to it. I’m not sure whether the JDK will be updated automatically when a new version becomes available.
To check the actual Java version of the installed JDK, go to /Library/Java/JavaVirtualMachines/
and check whether a package called like “1.6.0_29-b11-402.jdk” can be found there. In this example, the Java version would be “1.6.0_29”.
Using the JDK in Eclipse ∞
On Mac OS X, Eclipse provides an automatic way to determine the directory of the installed JDK. Go to the Eclipse Settings and open Java
–>Installed JREs
.
Then, by clicking on the Search...
button, would find the newly installed JDK. Unfortunately, there seems to be a bug in Eclipse Ingido (3.7 – and probably in earlier versions, too) that prevents this button from working correctly. Clicking on it doesn’t do anything when there’s already one (and only one) JRE listed here; see screenshot.
To fix this problem, do the following:
- Duplicate the existing entry (by hitting the
Duplicate...
button) - Delete the original entry; it’s the one with checked checkbox in front of it.
- Then click
Search...
. This should add two new entries to the list (see next screenshot). - Delete the entry you’ve created in step 1 (i.e. the duplicate of the original entry).
- Check one of the remaining entries. Note: The new two entries are linked. If you check one, both will be checked. Also, you can’t delete the entry for
/System/Library/Java/...
. Trying to do so will delete the other entry. - Close the Settings dialog with OK.
Restart Eclipse. This will remove the wrong entry (the one for
/System/Library/Java/...
) from the list.
The list of installed JREs then should look like this:
Manually adding a JDK ∞
If you want (for any reason) to add the JDK manually, here’s how to do this:
- Go to
Installed JREs
in the Eclipse Settings. - Click
Add...
- Choose “MacOS X VM” and hit
Next...
- Specify
/Library/Java/JavaVirtualMachines/<javaversion>.jdk/Contents/Home/
underJRE Home
. Note: You need to type/paste the directory directly into the field. You can’t use theDirectory...
as the directories in theJavaVirtualMachines
directory are so called “Mac OS X packages”. These directories are displayed as files and you can’t browse their contents from within the dialog. Give the JDK a meaningful name and hit
Finish
.
Changelog ∞
What changed?
2011-12-30: Published