How-To: Installing JDeveloper on Your Mac

Although some people don’t agree, I think there’s value in reposting technical tips for a few reasons.

First, I post content for my own information and reference. I’m not the only one who does this (e.g. @oraclenerd), and I’m not the only one who finds it useful as a personal history. Second, I find tons of helpful technical tips and information from the Google, and thanks to SEO, blogs tend to rise to the top. Finally, the intertubes is a big place, and I frequently remember where I read something memorable and use that as placeholder later to focus a search.

To the content. Marc Chanliau (@sysconmedia) posted instructions for installing JDeveloper on OS X Lion over on Shay Shmeltzer’s (@jdevshay) blog back in August. He did the same for earlier versions of OS X, so if you’re not on Lion yet, check out the older instructions.

In Lion, Apple stopped including the JDK as part of the OS, but you probably already knew that and already accounted for it. For the uninitiated, you need the JDK before you continue. So, open the Terminal and type:

java -version

If you don’t have it, OS X will prompt you to download and install.

The instructions are very easy to follow. Marc’s script didn’t work for me, but it did help me find the path to the Java home. The steps are below, and if you’re feeling charitable, hit this link and show Shay and Marc some love. Thanks guys.

(1) Download JDeveloper from here to your desktop.  (Choose the *generic* Studio Edition from the pull-down menu.)

(2) Double-click on the package you just downloaded, which should be jdevstudio1112Oinstall.jar. Be patient because it may take a few moments for the first screen of the JDev Installer to come up.

(3) Follow the Installer’s step. The tricky part is when you get prompted for providing the path to you local JDK. When you get there, just follow step (4) below.

(4) To make it easy for the JDev Installer to find the all Java libs it’s looking for, you need to run the following bash script. Just copy the script below in a text editor and save the file as (or any other you choose).  Here is the bash script:


mkdir /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6

mkdir /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/bin

ln -s /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/bin/java /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/bin/java

ln -s /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/bin/javac /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/bin/javac

ln -s /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/bin/javap /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/bin/javap

ln -s /System/Library/Java/Support/Deploy.bundle/Contents/Home/bin/javaws /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/bin/javaws

ln -s /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/bin/jar /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/bin/jar

ln -s /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/bin/xjc /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/bin/xjc mkdir /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/lib

ln -s /system/library/java/javavirtualmachines/1.6.0.jdk/contents/classes/classes.jar /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/lib/tools.jar

mkdir /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/jre mkdir /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/jre/bin

ln -s /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/bin/java /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/jre/bin/java mkdir /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/jre/lib

ln -s /system/library/java/javavirtualmachines/1.6.0.jdk/contents/classes/classes.jar /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home/jdk6/jre/lib/rt.jar

(5) Now that you’ve saved the script as described in step (4), you need to run it. Before running it, however, you need to change the file access permissions by entering the following command at a terminal prompt: chmod +x

(6) You’re ready to run the script. Enter the following command at a terminal prompt: ./ (if the bash shell complains that some permissions are (still) denied, just enter the command preceding it with “sudo” (you’ll be required to enter your Mac password), that will always work!)

(7) Now you should see the JDK’s path automatically entered in the JDev install screen.

(8) You just need to follow the remaining JDev Installer steps to complete installation.




  1. I used to love JDev. Integration with Subversion (and Microsoft’s version of same), you could run SQL and a nice little file menu/navigation thingy. Then WebLogic came along and the install swelled to 1.5 GB or so. For an IDE. Ugh.

  2. Yeah, it’s big for sure. I personally like having WebLogic on board, e.g. I’m using it to serve some portlets for a Sites demo. Nice to have WebLogic wo all the trappings.

  3. Does the capitalisation on the some of these directories matter? Some of these lines have ‘System’ other have ‘system’

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.