Maven即使设置了Java也找不到它

时间:2014-10-29 23:46:34

标签: java maven

用这个把我的头撞在墙上。使用Mac 10.10和我的java -version工作,但mvn -version给了我

error: JAVA_HOME is not defined correctly. We cannot execute /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin/java

这甚至不是我正确的jdk。这是我的bash_profile的样子:export

export JAVA_HOME=/Library/Java/JavaVirtualMachine/jdk1.8.0_25.jdk/Contents/Home

export M2_HOME=/usr/local/apache-maven/apache-maven-3.2.3
export M2=$M2_HOME/bin
export MAVEN_OPTS=-Xms256m-Xmx512m
export PATH=$M2:$PATH

4 个答案:

答案 0 :(得分:1)

当我遇到这个时。我需要重新启动终端应用程序。它可以获取新的bash_profile更改。

答案 1 :(得分:0)

那是(也许)因为iOS安装了默认的Java并且你自己下载了另一个Java VM。

尝试这个,而不是定义java home,让操作系统使用安装的那个。在您的个人资料中,或在shell脚本上执行此操作

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

或者您正在使用的任何java版本。例如,如果安装了java 6和7,则运行

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

将选择java 7,而

export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

将允许您使用Java 6.

注意后面的滴答声。

答案 2 :(得分:-1)

请检查mvn.sh脚本,确保没有在其中设置JAVA_HOME。或者重新下载maven包并打开包装 并检查/etc/launchd.conf,你有设置JAVA_HOME吗?

答案 3 :(得分:-1)

mac / linux(在你的情况下为mac)中安装maven,应遵循以下http://maven.apache.org/download.cgi部分:基于Unix的操作系统(Linux,Solaris和Mac OS X)

如果您的默认终端是bash(echo $SHELL将输出如下内容:/ bin / bash ) 在运行mvn之前先运行echo $JAVA_HOME

isaacdong-imac:~ isaac$ echo $SHELL /bin/bash 
isaacdong-imac:~ isaac$
echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
isaacdong-imac:~ isaac$

如果您的JAVA_HOME为空,请注意: export命令只有shell进程的当前env。当您打开一个新的shell或重新启动mac时。出口效应消失了。

请参阅:Set environment variables on Mac OS X Lion