[ https://jira.codehaus.org/browse/MNG-4226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=350383#comment-350383 ]
Hans Aikema commented on MNG-4226: ---------------------------------- abu:classes aikebah$ whereis java /usr/bin/java And as mentioned earlier in this issue: on modern Mac OS the location of java should be examined using 1) if JAVA_HOME defined: $JAVA_HOME/bin/java 2) else if /usr/libexec/java_home is present at the location that /usr/libexec/java_home returns 3) else if /System/Library/Java/JavaVirtualMachines/CurrentJDK exists: /System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home/bin/java The Oracle Java JDK's do not install to /System/Library/Java/JavaVirtualMachines/CurrentJDK The patch that has been applied seems to attempt this, but in the wrong order (i.e. first do 3) and only when it fails to resolve a Java do 2)) > Better detection of JAVA_HOME on Apple Mac OS X > ----------------------------------------------- > > Key: MNG-4226 > URL: https://jira.codehaus.org/browse/MNG-4226 > Project: Maven > Issue Type: Improvement > Components: Command Line > Reporter: Alin Dreghiciu > Assignee: Jason van Zyl > Fix For: 3.2.2 > > Attachments: 0001-MNG-4226-Detect-JAVA_HOME-on-newer-Mac-OS-X.patch, > MNG-4226-apache-maven.patch > > > On mac JAVA_HOME is detected by using the following code: > {code} > if [ -z "$JAVA_VERSION" ] ; then > JAVA_VERSION="CurrentJDK" > else > echo "Using Java version: $JAVA_VERSION" > fi > if [ -z "$JAVA_HOME" ] ; then > > JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home > fi > {code} > But this does not work in collaboration with Using "Java preferences" to > change the actual java version to use as "CurrentJDK" does not change once > you update the "java applications" order. > There is an alternative (at least on Leopard) for determining current java > home that is based on Java Preferences by using an apple provided script. So, > as a replacement fo rthe code above the following could be used. > {code} > if [ -z "$JAVA_HOME" ] ; then > JAVA_HOME=`/usr/libexec/java_home | tail -1` > fi > {code} > Could also be taht this is teh first attempt and if fails use the current way > of determining home. -- This message was sent by Atlassian JIRA (v6.1.6#6162)