为什么在我的MAC OS X 10.11上看不到JAVA_HOME路径?

我试图在我的MAC OS X 10.11(El Capitan)上运行JAVA应用程序。

我使用此链接在MAC OS X 10.11上设置了JAVA_HOME。

我能够运行以下命令:

java -version

which java

但是,当我转到MAC上的终端应用程序并键入echo $ JAVA_HOME时,什么也看不到。这是为什么?这是否意味着我的JAVA_HOME设置不正确?

回答:

在哪里定义

好的,首先,我们必须弄清楚 在哪里 设置JAVA_HOME

简化后,您可以在两个文件中定义它:~/.bashrc~/bash_profile。通过 默认情况下

前者是后者则用于“登录shell”所谓的“交互式非登录shell”执行。“登录外壳”正是您所期望的:通过命令行登录后启动的外壳。“交互式非登录外壳”是例如从GUI内启动的外壳。因此,据此,我们应该将出口声明放入~/.bashrc

旁注:虽然OS X的“终端”应用程序读取提到的两个文件,但这不是默认行为,因此不应这样对待。这就是为什么我写了一个解释。

定义什么

您需要将JAVA_HOME导出到~/.bashrc文件中,以便每次打开外壳时都会设置变量。

在OS

X上,Java开发工具包和运行时环境在其中存储/Library/Java/JavaVirtualMachines/了相当长的一段时间。在那里看看。这是我的机器的外观:

/Library/Java/JavaVirtualMachines/

├── jdk1.7.0_45.jdk

├── jdk1.8.0_20.jdk

├── jdk1.8.0_25.jdk

└── jdk1.8.0_51.jdk

子文件夹看起来与此类似

jdk1.7.0_45.jdk/

└── Contents

├── Home

├── Info.plist

└── MacOS

我们到了。因此,如果您想指向JDK 1.7.0_45,则可以将以下语句放入.bashrc

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"

为了确保调用了该Java版本的正确二进制文件,还应该在上述语句之后的某处添加以下内容:

export PATH=$JAVA_HOME/bin:$PATH

以上是 为什么在我的MAC OS X 10.11上看不到JAVA_HOME路径? 的全部内容, 来源链接: utcz.com/qa/417305.html

回到顶部