In order to use some of our latest libraries built with Java7, we've attempted to configure IDL to adopt the latest JRE.
Java6 has reached EOL:
https://blogs.oracle.com/henrik/entry/java_6_eol_h_h
We've had some success when it comes to following to documentation listed on the IDL Connectivity Bridges:
http://www.exelisvis.com/docs/pdf/bridges.pdf
On Windows, one must simply change the config file to point to the appropriate JDK.
According to the documentation, the OSX version of IDL ignores both the JVM LibLocation in .idljavabrc and the environment variable IDLJAVAB_LIB_LOCATION.
"On Macintosh platforms, IDL uses the JVM provided by the operating system, and
ignores the value of the IDLJAVAB_LIB_LOCATION environment variable."
It appears to always assign the first "System" JRE which is outdated.
This is confirmed by:
oBridgeSession = OBJ_NEW("IDLJavaObject$IDLJAVABRIDGESESSION")
oJVersion = oBridgeSession -> GetVersionObject()
print, "Java Version: ", oJVersion->GetJavaVersion() ;Displays system JRE.
The System Java is stored in /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
while the Oracle Java is stored /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
Using the Java Preferences in /Applications/Utilities yields the correct java -version in the terminal
as well as running /usr/libexec/java_home produces the correct java home.
But, these processes seem to change environment variables which IDL ignores.
Is there another way to configure IDL in OSX to use a custom path for the IDL->Java Bridge JRE?