Yes! The fact that Oracle doesn't provide a OSX installer doesn't mean these product shouldn't work natively. Most of them are actually 100% Java.
Please follow the instructions below to install you development environment.
Instructions are for 11g 11.1.1.4.0 but were also tested with 11.1.1.5.0. The trick is to run the installer via a Linux VM and migrate the files to OSX.
Linux VM Installation
It doesn't really matter if you get a 32 or 64 bits Linux distribution. However, the installation folder should be the same on Linux and MacOS.
- Download VirtualBox and create a Virtual Machine for Linux. Since we are dealing with Oracle products, rather user their linux distribution: look for this file on google OracleLinux-R5-U7-Server-i386-dvd.iso
- With the VM installed, up and running, boot into Linux.
- Install JDK 1.6 for Linux 32 bits
Download the following software, oracle offers native installers for windows and Linux. However you should stick to generic downloads as much as possible. Some of these packages come in several zips, extract files according to oracle directions.
- Weblogic & coherence: wls1034_generic.jar
- OEPE: oepe-helios-all-in-one-11.1.1.6.1.201010012100-win32-x86_64.zip
- jDeveloper: jdevstudio11114install.jar
- OSB: ofm_osb_generic_11.1.1.4.0
- SOA: soa_generic_11.1.1.4.0
Install the software in the following order
- Weblogic & Coherence: run with java -Xmx1024m -jar -Dos.name=unix wls1034_generic.jar
- OEPE extract act in a folder called /oepe
- OSB Disk1/runInstaller - Make sure OSB IDE extensions are being installed (in OEPE)
- SOA Disk1/runInstaller
- jDeveloper
OSX Installation
Middleware
Here comes the trick, copy the oOracle Middleware folder from your Linux VM to OSX. Make sure the location is the same. For instance if you installed under /Oracle/Middleware on Linux, you should copy to /Oracle/Middleware on OSX.
Fix JVM
For some obscure reasons, Oracle installers don't recognize the Apple JVM. While not mandatory, it is good practices to fix the issue with the following script.
$ sudo mkdir -p /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/jre/lib
$ cd /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/jre/lib
$ sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/classes/classes.jar rt.jar
OEPE
- Download the following software (64bits please!)
oepe-helios-all-in-one-11.1.1.6.2.201111102323-macosx-cocoa-x86_64.zip
- Extract the file into /oepemac
- Right click on Eclipse.app
- On the opened menu, choose “Show Package Contents”
Edit file “/Contents/MacOS/eclipse.ini”, append the following lines
-Dweblogic.home=/Oracle/Middleware/wlserver_10.3
-Dharvester.home=/Oracle/Middleware/Oracle_OSB1/harvester
-Dosb.home=/Oracle/Middleware/Oracle_OSB1
-Dosgi.bundlefile.limit=750
-Dosgi.nl=en_US
Now copy the file oracle.osb.ide.link from the folder “oepe/dropins” to “oepemac/dropins” (both under your middleware home).
Oracle XE
Oracle_XE is unfortunately not supported on OSX. we will need to run it via a VirtualBox appliance. The good news is that Oracle provides a easy to install RPM.
- Download oracle-xe-10.2.0.1-1.0.i386.rpm
- Under Linux, as root, run 'rpm -i oracle-xe-10.2.0.1-1.0.i386.rpm'
- Next step is to download and run Oracle RCU to prepare the data model, please refer to the next section for directions.
For reference, we allocated 1cpu, 600MB of ram to our Linux/OracleXE VM.
Next Steps
Configure your web logic development domain. Please refer to this document for instructions.
Quick Start Guide for Oracle® SOA Suite 11gR1 (11.1.1.5.0).pdf
Fix startup scripts
Finally, you will need to fix domain startup script as follows
------------- user_projects/domains/DEVdomain/bin/setDomainEnv.sh -------------
index f74490c..8d75c6c 100755
@@ -108,7 +108,7 @@ else
else
JAVA_VENDOR="Unknown"
export JAVA_VENDOR
- JAVA_HOME="/usr/java/jdk1.6.0_21"
+ JAVA_HOME=`/usr/libexec/java_home`
export JAVA_HOME
fi
fi
------------ user_projects/domains/DEVdomain/bin/setSOADomainEnv.sh ------------
index 8c6743b..b92cfa4 100755
@@ -144,6 +144,15 @@ case ${PLATFORM_TYPE} in
fi
export USER_MEM_ARGS
;;
+#-----------------------------------------------------
+# OSX
+#-----------------------------------------------------
+Darwin)
+
+ USER_MEM_ARGS="${PORT_MEM_ARGS}"
+ export USER_MEM_ARGS
+
+ ;;
#-----------------------------------------------------
# Sun OS