JAVACMD set incorrectly when JAVA_HOME is not set -------------------------------------------------
Key: MNG-3310 URL: http://jira.codehaus.org/browse/MNG-3310 Project: Maven 2 Issue Type: Bug Components: Command Line Affects Versions: 2.0.8 Reporter: Matthijs Wensveen Attachments: mvn.patch In the mvn shell script, when the JAVA_HOME environment variable is not set, the script sets JAVACMD to java, probably as a best effort, hoping it is on the user's PATH. 4 lines beneath that, the JAVACMD is tested for executability, but since it is not a path to the java executable, but just the java command, this fails. The relevant part of the script (lines 122-139): if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD=java fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." echo " We cannot execute $JAVACMD" exit 1 fi Line 131 should be changed to: JAVACMD="`which java`" -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira