无法在"/ usr"中找到$ JAVA_HOME,继续使用系统提供的Java

mon*_*oos 22 java macos ec2-api-tools

Mac OS X上任何Java命令的输出都以"无法在/ usr中找到$ JAVA_HOME"作为前缀,继续使用系统提供的Java ...".例如,

$ java -version
Unable to find a $JAVA_HOME at "/usr", continuing with system-provided Java...
java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01-447-11M4203)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-447, mixed mode)

mon*_*oos 48

Java主环境变量设置不正确,可能是由于过时指南(例如EC2命令行工具)的指示.

无论您在何处设置JAVA_HOME(例如.bashrc),请将其更改为:

export JAVA_HOME="$(/usr/libexec/java_home)"
Run Code Online (Sandbox Code Playgroud)

从Mac OS X 10.5开始,该可执行文件是设置JAVA_HOME的受支持方法.

https://developer.apple.com/library/content/qa/qa1170/_index.html