我刚买了一台全新的MacBook Pro。

这是我的第一台MAC电脑,我还在试着掌握导航的窍门。

不管怎样,我对Java也是个新手,在我的Windows电脑永久死机之前,我一直在用它练习。

现在我在这台MAC上安装了JDK,现在我需要设置JAVA_HOME环境变量。

我不知道该怎么办。

我试着跟着这些指南走,但没走多远。

如何在Mac OSX中设置JAVA_HOME变量 YouTube:如何设置mac、linux、solaris、rhel环境变量 如何在Mac中设置环境变量

我能够定位终端,我想我创建了一些多个文件。我收到的信息是这样的:


另一个程序可能正在编辑相同的文件。 如果是这种情况,要小心不要以两种方式结束 同一文件的不同实例进行更改。 放弃,或者谨慎地继续。


这个文件的编辑会话崩溃了。 如果是这种情况,使用":recover"或"vim -r /Users/Erwin/.bash_profile" 要恢复更改(请参阅“:帮助恢复”)。 如果您已经这样做了,那么删除交换文件“/Users/Erwin/.bash_profile”。sw p " 为了避免这个信息。

有人能告诉我如何在Mac OSX环境中一步一步地设置Java吗?


当前回答

因为我使用的是用sdkman管理的openjdk,我补充道

sudo ln -sfn /path/to/my/installed/jdk/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

将此添加到系统中可以让java_home识别您安装的Java版本,即使它不是通过标准包安装的

其他回答

如果你使用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

在Mac OSX 10.5或更高版本中,苹果建议将$JAVA_HOME变量设置为/usr/libexec/ JAVA_HOME,只需在~/文件中导出$JAVA_HOME即可。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

我用

export JAVA_HOME=`/usr/libexec/java_home`

(backtics)在我的。bashrc。请看我对阿德里安的回答的评论。

java11通过Homebrew -在macos Ventura 2022上测试

. zshrc

export JAVA_HOME=/opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home

我检查了我的/Library/Java/JavaVirtualMachines/ 查找到版本号为jdk1.8.0_321.jdk/Contents/Home 并直接添加到我的.bash_profile:

出口JAVA_HOME = /图书馆/ Java / Home / JavaVirtualMachines / jdk1.8.0_321.jdk /内容

但是它仍然在源.bash_profile后抱怨:操作无法完成。无法找到支持apt的Java运行时。