如何在Mac OS X 10.9上设置JAVA_HOME环境变量?
我刚买了一台全新的MacBookPro 这是我有史以来的第一台MAC电脑,我仍在努力掌握导航的窍门 无论如何,我也是Java新手,在我的Windows PC永久消亡之前,我一直在练习 现在我在这个MAC上,我安装了JDK,现在我需要设置如何在Mac OS X 10.9上设置JAVA_HOME环境变量?,java,macos,osx-mavericks,Java,Macos,Osx Mavericks,我刚买了一台全新的MacBookPro 这是我有史以来的第一台MAC电脑,我仍在努力掌握导航的窍门 无论如何,我也是Java新手,在我的Windows PC永久消亡之前,我一直在练习 现在我在这个MAC上,我安装了JDK,现在我需要设置JAVA\u HOME环境变量 我不知道该怎么办 我试着按照其中的一些指南去做,没走多远 我能够找到终端,我想我创建了一些多个文件。我收到这样的信息: (1) 另一个程序可能正在编辑同一文件。 如果是这种情况,请小心不要以两个结束 进行更改时同一文件的不同
JAVA\u HOME
环境变量
我不知道该怎么办
我试着按照其中的一些指南去做,没走多远
我能够找到终端,我想我创建了一些多个文件。我收到这样的信息:
(1) 另一个程序可能正在编辑同一文件。 如果是这种情况,请小心不要以两个结束 进行更改时同一文件的不同实例。 退出,或者谨慎地继续
(2) 此文件的编辑会话崩溃。 如果是这种情况,请使用“:recover”或“vim-r/Users/Erwin/.bash_profile” 要恢复更改(请参阅“:帮助恢复”)。 如果已执行此操作,请删除交换文件“/Users/Erwin/.bash\u profile.sw p” 以避免此消息
有人能告诉你如何在Mac OSX环境中一步一步地设置Java吗?实际上,你所要做的就是:
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
然后重新启动shell
如果您安装了多个JDK版本,并且希望它是一个特定的版本,则可以使用-v
标志来java\u home
如下所示:
echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profile
我是通过把
export JAVA_HOME=`/usr/libexec/java_home`
(backtics)在我的.bashrc中。请参阅我对Adrian答案的评论。我通过添加到~/.profile中来实现它。不知何故,在升级到El Capitan beta版后,即使在.bash_概要文件中定义了JAVA_HOME,它也无法工作
如果有任何El Capitan beta用户,请尝试添加到Mac OSX 10.5或更高版本中的.profile,苹果建议将
$JAVA\u HOME变量设置为/usr/libexec/JAVA\u HOME
,只需导出文件中的$JAVA\u HOME
。bash_profile
或~/.profile
打开终端并运行以下命令
$ vim .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
保存并退出vim编辑器,然后在.bash_profile上运行源代码命令
$ source .bash_profile
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
我已经更新了强大的实用工具jenv,使其易于在macOS上安装 按照在最新或更旧的Mac OSX上设置$JAVA_HOME环境变量的说明进行操作。 下载并安装
$java-version
设置JAVA_主环境变量
$open-t.zprofile
或者创建。zprofile文件
$open-t.zprofile
export JAVA\u HOME=$(/usr/libexec/JAVA\u HOME)
保存.zprofile并关闭bash文件,然后完美地在终端中写入工作
$ source .zprofile
终端设置测试
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home
建议在设置JAVA\u HOME环境变量之前,通过以下命令检查默认终端外壳:
$ echo $SHELL
/bin/bash
如果您的默认终端是/bin/bash(bash),那么您应该使用@Adrian Petrescu方法
如果默认终端为/bin/zsh(Z Shell),则应在~/.zshenv文件中设置这些环境变量,并包含以下内容:
export JAVA_HOME="$(/usr/libexec/java_home)"
类似地,上面没有提到的任何其他终端类型,都应该在其各自的终端环境文件中设置环境变量。因为我使用的是由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 首先,找到实际的JavaSDK主目录。手动导航到那里,以确保您不会因版本不正确等原因而出现任何错误。对我来说,这是:
/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home
接下来,编辑终端的配置文件。如果您使用的是zsh,这将是:
vim ~/.zshrc
vim ~/.bash_profile
如果您没有使用zsh,这将是:
vim ~/.zshrc
vim ~/.bash_profile
在内部,在文件中的任意位置添加以下新行:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home
重新启动你的终端应用程序(或source~/.bash_profile),它应该可以正常工作。复制:可能的复制简要解释:当你说“shell”时,你的意思是我关闭终端窗口并重新打开它吗?另外,这是否永久性地为我的jdk添加了环境变量?是的,这就是我的意思。是的,这将为您的用户的所有登录shell添加变量(即,几乎所有您需要它的情况下),我认为如果您执行
source~/.bash_profile
操作,它将工作,对吗?@ShobhitPuri-Yup,它会,我只是想让它对询问者保持简单。echo-export“JAVA\u HOME=\$(/usr/libexec/JAVA\u HOME-v1.7)”>~/.bash\u profile
如果您需要一个特定的版本。在本例中为.1.7。profile和.bash\u profile之间有什么区别?其想法是.profile可以运行于所有shell(sh,zsh,无论什么);.bash\u profile只能运行于bash shell。我还有一个问题是“/usr/libexec/JAVA\u HOME”“实际上是。回答:/usr/libexec/java_home是在macOS上设置java_home的最简单的可维护方式。您可以使用java_home来:查找所有已安装的JDK。这对我来说在2020年运行Catalina的2019 Mac上是可行的。被接受的,大多数被高票否决的答案是否定的。首先,bash配置文件现在是.zprofile
,而且在accepted answer中的导出
命令内容对我来说不起作用,但这确实起到了作用。请注意从哪里获取JDK–或者,您可以从中安装JDK。区别我