Java 是最新版本 macOS 上的可选包。
然而一旦安装它似乎 JAVA_HOME 环境变量 设置不正确。
原文由 Olivier Refalo 发布,翻译遵循 CC BY-SA 4.0 许可协议
Java 是最新版本 macOS 上的可选包。
然而一旦安装它似乎 JAVA_HOME 环境变量 设置不正确。
原文由 Olivier Refalo 发布,翻译遵循 CC BY-SA 4.0 许可协议
/usr/libexec/java_home
不是目录而是可执行文件。它输出当前配置的 JAVA_HOME,实际上并没有改变它。这就是 Java 首选项应用程序的用途,在我的情况下,它似乎已损坏并且实际上没有正确更改 JVM。它确实列出了 1.7 JVM,但我可以切换/取消切换并拖放我想要的所有内容,而无需实际更改 /usr/libexec/java_home
的输出。
即使在 Lion 上从 Oracle 安装 1.7.0 u6 并将其设置为首选项中的默认值后,它仍然返回 apple 1.6 java 主页。唯一真正对我有用的修复方法是手动设置 JAVA_HOME:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home/
至少这样,当从命令行运行时,它将使用 1.7。 /usr/libexec/java_home
还是坚持1.6。
更新: Understanding Java From Command Line on OSX 对它 的工作原理有更好的解释。
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
是这样做的方法。请注意,将其更新为 1.8 就可以正常工作。
原文由 Jilles van Gurp 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
3 回答3.9k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
2 回答3.1k 阅读
安装 Java 可选包 或 Oracle JDK 后,将以下行之一添加到 ~/.bash_profile 文件将相应地设置环境变量。
注意:如果您使用 brew 在 mac 上安装了 openjdk ,请运行
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
以使上述工作正常更新:基于 Jilles van Gurp 响应 添加了 -v 标志。