A More FHS-Compliant JDK Install

Mike Swingler swingler at apple.com
Mon Jan 3 19:44:01 UTC 2011

On Jan 2, 2011, at 6:09 PM, Lussier, Denis wrote:

> The differentiation you describe below for /opt and /usr/local also pretty well jibes with my understanding.  
> I think that a local build of OpenJDK6 would reasonably be copied to /usr/local/openjdk6 for usage.  Perhaps I'm a bit old fashioned, but, I like setting JAVA_HOME and placing the bin on the PATH.  This lets me easily test & deploy different JVM's, on a given machine, according to the needs of the application.
> It gets really confusing (at least for me) on a Mac when there are many JVM's (both 32 and 64 bit versions) and somehow the system and application preferences interact to magically determine the best JVM to use.

However, if you set $JAVA_HOME on the Mac, the command-line binary stubs in /usr/bin will follow whatever $JAVA_HOME is set to.

If you'd like to inspect the list of installed JVMs, or find one satisfying a certain version or architecture requirement, use the /usr/libexec/java_home tool.

Mike Swingler
Java Engineering
Apple Inc.

More information about the build-dev mailing list