错误:未正确定义JAVA_HOME。我们无法执行/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java

错误:未正确定义JAVA_HOME。我们无法执行/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java,java,environment-variables,Java,Environment Variables,如果我正在执行mvn-version命令,它会给我mvn的确切版本 但是当我试图用sudomvn-version 这使我犯了上述错误 我的.bash_档案 export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/jre/bin:$PATH export M2_HOME=/Users/ta302118/Softwares/apache-maven-3.0.5 export PATH=$PATH:$JAVA_HOME/bin

如果我正在执行
mvn-version
命令,它会给我mvn的确切版本

但是当我试图用
sudomvn-version

这使我犯了上述错误

我的.bash_档案

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/jre/bin:$PATH
export M2_HOME=/Users/ta302118/Softwares/apache-maven-3.0.5
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
如果试图执行下面的命令,我会得到同样的错误

sudo mvn spring-boot:run  

Error: JAVA_HOME is not defined correctly.
  We cannot execute /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java

任何人都可以在这方面提供帮助。

在.bash\u配置文件中,您在PATH中定义了两次JAVA。 一旦它进入JAVA_HOME/jre/bin
一旦是JAVA_HOME/bin。

安全策略很可能不允许将JAVA_HOME环境变量传递给sudo环境。您将问题放在答案中。我知道你们还不能这么做,但你们会对任何和你们回答的问题相关的不清楚的地方使用评论(对问题的评论)。