在哪里定义它
好的,首先,我们要明确在哪里设置JAVA_HOME。
简化后,您可以在两个文件中定义它:~/.bashrc 或 ~/bash_profile。 默认 前者用于所谓的“交互式非登录 shell”,而后者用于“登录 shell”。
“登录外壳”正是您所期望的:通过命令行登录后启动的外壳。例如,“交互式非登录 shell”是从 GUI 内启动的 shell。所以,据此,我们应该将我们的导出语句放入~/.bashrc。
旁注:虽然 OS X 的“终端”应用程序会读取提到的两个文件,但这不是默认行为,因此不应如此对待。这就是我写解释的原因。
定义什么
您需要在~/.bashrc文件中导出JAVA_HOME,以便每次打开shell时设置变量。
在 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