我刚刚购买了一台全新的 MacBook Pro。
这是我有史以来的第一台 MAC,我仍在努力掌握导航的窍门。
无论如何,我也是 Java 新手,在我的 Windows PC 永久死亡之前,我一直在练习。
现在我在这个 MAC 上,我安装了我的 JDK,现在我需要设置 JAVA_HOME
环境变量。
我不知道该怎么做。
我尝试按照其中一些指南进行操作,但并没有走得太远。
Mkyong.com : 如何在 Mac OSX 中设置 JAVA_HOME 变量 YouTube : 如何在 mac、linux、solaris、rhel 上设置环境变量 YouTube : 如何在 Mac 中设置环境变量
我能够找到终端,我想我创建了一些多个文件。我收到这样的消息:
(1) 另一个程序可能正在编辑同一文件。如果是这种情况,请注意在进行更改时不要以同一文件的两个不同实例结束。退出,或谨慎继续。
(2) 此文件的编辑会话崩溃。如果是这种情况,请使用 ":recover" 或 "vim -r /Users/Erwin/.bash_profile" 来恢复更改(参见 ":help recovery")。如果您已经这样做了,请删除交换文件“/Users/Erwin/.bash_profile.sw p”以避免出现此消息。
有人可以逐步告诉如何在 Mac OSX 环境中设置 Java 吗?
brew
安装后,我的位置是 /opt/homebrew/Cellar/openjdk/17.0.1_1/libexec/openjdk.jdk/Contents/Home
。显然更改了您的版本,但找到路径的典型方法被证明是困难的,所以我希望这对其他人有所帮助。
如果你使用 bash,你所要做的就是:
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
如果您使用的是 zsh(这可能意味着您正在运行 macOS Catalina 或更新版本),那么它应该是:
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.zshrc
无论哪种情况,请重新启动您的 shell。
如果您安装了多个 JDK 版本并且希望它是一个特定版本,您可以使用 -v
标志到 java_home
,如下所示:
echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profile
我只花了 2 个小时来设置这个变量。其他答案对我来说不起作用。我正在使用 macOS Catalina 10.15.4。
首先,找到您实际的 Java SDK 主目录:
/usr/libexec/java_home
手动导航到那里,以确保您没有由于版本不正确等导致的任何错误。对我来说,这是:
/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home
接下来,编辑终端的配置文件。如果您使用的是 zsh,这将是:
vim ~/.zshrc
如果你不使用 zsh,这将是:
vim ~/.bash_profile
在里面,在文件的任意位置添加以下新行:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home
重新启动您的终端应用程序(或源 ~/.bash_profile),它应该可以正常工作。
我是这样做的
export JAVA_HOME=`/usr/libexec/java_home`
(backtics) 在我的 .bashrc 中。请参阅我对 Adrian 回答的评论。
在 Mac OSX 10.5 或更高版本中,Apple 建议设置 $JAVA_HOME variable to /usr/libexec/java_home
,只需导出 $JAVA_HOME
in file ~/. bash_profile
或 ~/.profile
。
打开终端并运行以下命令。
$ vim .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
保存并退出 vim 编辑器,然后在 .bash_profile 上运行 source 命令
$ source .bash_profile
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
在最新或较旧的 Mac OSX 上设置 $JAVA_HOME 环境变量。
下载和安装安装 JDK
一、安装JDK 打开终端检查java版本
java -版本
设置 JAVA_HOME 环境变量
打开 .zprofile 文件
打开 -t .zprofile
或创建 . zprofile 文件
打开 -t .zprofile
写入 .zprofile
导出 JAVA_HOME=$(/usr/libexec/java_home)
保存 .zprofile 并关闭 bash 文件,然后在终端中写入以完美工作。
$ source .zprofile
在终端中设置测试
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home
.zprofile
,而且接受答案中的 export
命令内容对我不起作用,但确实如此。
建议在设置 JAVA_HOME 环境变量之前检查默认终端 shell,通过以下命令:
$ echo $SHELL
/bin/bash
如果您的默认终端是 /bin/bash (Bash),那么您应该使用 @Adrian Petrescu 方法。
如果你的默认终端是 /bin/zsh (Z Shell),那么你应该在 ~/.zshenv 文件中设置这些环境变量,内容如下:
export JAVA_HOME="$(/usr/libexec/java_home)"
同样,上面未提及的任何其他终端类型,您应该在其各自的终端 env 文件中设置环境变量。
如果您使用的是 Zsh,请尝试在 ~/.zshrc 文件中添加此行并重新启动终端。
export JAVA_HOME=$(/usr/libexec/java_home)
我通过添加到 ~/.profile 让它工作了。不知何故,在更新到 El Capitan beta 后,即使 JAVA_HOME 已在 .bash_profile 中定义,它也无法正常工作。
如果有任何 El Capitan beta 用户,请尝试添加到 .profile
由于我使用的是由 sdkman 管理的 openjdk,所以我添加了
sudo ln -sfn /path/to/my/installed/jdk/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
将此添加到您的系统可以让 java_home
识别您安装的 Java 版本,即使它不是通过标准软件包安装的
export JAVA_HOME="/usr/libexec/java_home"
?
我检查了我的 /Library/Java/JavaVirtualMachines/ 目录,发现版本是 jdk1.8.0_321.jdk/Contents/Home 并将其直接添加到我的 .bash_profile 中:
导出 JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home
但在采购 .bash_profile 后仍然抱怨:操作无法完成。找不到支持 apt 的 Java 运行时。
在最新的 Mac 中,您必须在 .zprofile 中添加 Set $JAVA_HOME 环境变量。在这里,我们以简单的方式打开它。按 ⌘ + Shift + 。从键盘。只需打开它并按照 here 的说明添加 $JAVA_HOME 环境变量:
source ~/.bash_profile
而不是重新启动终端,它会起作用,对吗?echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profile
如果您需要特定版本。 1.7 在这种情况下。.zshrc
而不是 bash 配置文件。所以命令将是echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.zshrc