JAVA_HOME
environmental property, so that all my Maven etc. tools still worked properly. In ~/.bash_profile
, I added/updated following entries:
export JAVA_HOME6=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home export JAVA_HOME7=/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home export JAVA_HOME=$JAVA_HOME7 export PATH=$JAVA_HOME/bin:$PATHI use
JAVA_HOME6
and JAVA_HOME7
so that I can easily switch the standard Java version.
But, stop, stop, there must be a better way to do that, so that I don't have to update these lines after every Java download. And actually it is by using the not-so-well-known-but-very-useful command
java_home
:
The java_home command returns a path suitable for setting the JAVA_HOME environment variable. It determines this path from the user's enabled and preferred JVMs in the Java Preferences application. Additional constraints may be provided to filter the list of JVMs available. [...] The path is printed to standard output.On my machine,
java_home
prints following path to the STDOUT
:
[561]% /usr/libexec/java_home --version 1.7 /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/HomeSo, I can change my
.bash_profile
as follows:
export JAVA_HOME6=`/usr/libexec/java_home --version 1.6` export JAVA_HOME7=`/usr/libexec/java_home --version 1.7` export JAVA_HOME=$JAVA_HOME7 export PATH=$JAVA_HOME/bin:$PATHOn my machine, my Java environmental parameters becomes:
[555]% env | grep JAVA JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home JAVA_HOME6=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home JAVA_HOME7=/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/HomeFinito.
No comments:
Post a Comment