用这个把我的头撞在墙上。使用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
答案 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时。出口效应消失了。