我刚买了一台全新的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吗?


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

我用

export JAVA_HOME=`/usr/libexec/java_home`

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


我通过添加~/.profile使它工作。在更新到El Capitan beta之后,即使JAVA_HOME是在.bash_profile中定义的,它也不能工作。

如果有El Capitan测试版用户,请尝试添加到.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

在最新或旧的Mac OSX上设置$JAVA_HOME环境变量。

下载并安装安装JDK

首先,安装JDK 打开终端检查java版本

$ Java -version

设置JAVA_HOME环境变量

打开.zprofile文件

$ open -t .zprofile

或者创造。zprofile文件

$ open -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

建议在设置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文件中设置环境变量。


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

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

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


如果您正在使用Zsh,那么尝试在~/中添加这一行。ZSHRC文件和重启终端。

export JAVA_HOME=$(/usr/libexec/java_home) 

我花了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),它应该可以正常工作。


我检查了我的/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运行时。


在最新的Mac中,您必须在.zprofile中添加Set $JAVA_HOME环境变量。在这里,我们用简单的方法打开它。按⌘+ Shift +。从键盘。只需打开它并添加$JAVA_HOME环境变量,如下所示:


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

. zshrc

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

我在macOS Monterey上使用谷歌提供的选项解决了这个问题

在Gradle JDK下,选择嵌入式JDK选项。

https://developer.android.com/studio/intro/studio-config: ~:文本= % 20复制% 20 % 20最新% 20,使用% 20 % 20你% 20 android % 20的项目。


Mac M1

下载并安装安装JDK

打开终端检查java版本

java - version

现在创建一个文件

触摸.zprofile

打开文件

打开-t .zprofile

添加下面的行

出口JAVA_HOME = $ (/ usr / libexec / JAVA_HOME)


更简单的是在mac终端和现代OSX上

$ vim ~/.zshrc

输入“a”进行编辑,然后粘贴(ctrl + v):

$ JAVA_HOME=/usr/libexec/java_home

然后点击“escape”,准确地输入“:wq”,以便写入文件并退出vim模式。

最后,当退出vim模式并回到终端时,键入

$ source ~/.zshrc

这将刷新,以便您的终端知道这些更改。

重要*如果你不“源”文件,你不会看到这个终端会话的变化。

通过输入检查更改

$ echo $JAVA_HOME

您应该看到/usr/libexec/java_home


我可以通过在.bash_profile文件中设置JAVA_HOME来解决这个问题

export JAVA_HOME=/usr/local/opt/openjdk@17

注意: 我使用“brew”安装了openjdk版本17。我从酿酒控制台得到了这个位置。我使用'bash'而不是'zsh'在我的mac。


打开终端。 通过输入“which java”. ...确认您有JDK 通过键入,检查您是否拥有所需的Java版本 “java - version”。 在“Terminal: export”中使用该命令设置JAVA_HOME JAVA_HOME = /图书馆/ Java / Home。 在终端上返回$JAVA_HOME确认 的路径。


M1快速指南

将java sdk添加到m1中 检查版本 java——版本

在你的mac上安装所有的java版本

/usr/libexec/java_home -V

从库执行Java路径 /usr/libexec/java_home

(如果你有多个版本,请指定java版本,在我的例子中是-v17.0.5

/usr/libexec/java_home -v17.0.5

Mac>User>'YourUserName/Home'>.zshrc export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Content/Home