我应该如何在macOS上设置JAVA_HOME环境变量?

Mar*_*oli 10 java macos java-home

我知道这个问题之前已被问过很多但是我确实已经阅读了,我会告诉你我得到了什么.

我将列出我在OS X Yosemite 10.10.1中执行的命令

java -version

java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)

java -fullversion

 java full version "1.8.0_45-b14"
Run Code Online (Sandbox Code Playgroud)

哪个java

/usr/bin/java
Run Code Online (Sandbox Code Playgroud)

没有设置Java home变量,因为当我这样做时:echo $ java_homeecho $ JAVA_HOMEecho $ Java_Home终端上什么都没有.

这样做:ls -l which java 我得到了这个:

8 lrwxr-xr-x  1 root  wheel  74 Nov 12  2014 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
Run Code Online (Sandbox Code Playgroud)

javac -version

javac 1.8.0_45
Run Code Online (Sandbox Code Playgroud)

的/ usr /的libexec/JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

我认为在互联网上阅读后的解决方案是正确的

echo "export JAVA_HOME=`/usr/libexec/java_home`" >> ~/.profile  
Run Code Online (Sandbox Code Playgroud)

但我害怕测试它,这就是为什么我问你,如果这是正确的,如果不是,我该怎么办?

nta*_*lbs 33

我不确定你为什么害怕测试,你可以安全地测试这个:

在终端会话中,输入以下内容:

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

这将打印以下行:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

复制上面的内容并将其粘贴到终端窗口,然后按确认键.并执行java -version以查看它是否正常工作.如果一切正常,您可以将代码附加到.profile:

但是直接添加此行更好,因为.profile升级JDK时不必更新.

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

请参阅java_home工具的手册页.简而言之,它为JAVA_HOME提供了适当的路径,可以在macOS上进行正常安装