在MAC OSX 10.9上设置JAVA_HOME环境变量

时间:2014-04-03 15:49:38

标签: java osx-mavericks

我刚买了一台全新的MacBook Pro。这是我有史以来的第一个MAC,而且我仍然试图抓住导航的方向。无论如何......我也是Java的新手,而且我在我的Windows PC上练习,然后才永久死亡。现在我已经在这个MAC上安装了我的JDK,现在我需要设置JAVA_HOME环境变量。我不知道该怎么做。

我尝试了一些这些指南,并没有走得太远。

http://www.mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/ http://www.youtube.com/watch?v=aCEPrODy68o

我非常确定这个让我创建了一个现在无用的文件:
youtube.com/watch?v=-cASjkF94dc

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


  

(1)另一个程序可能正在编辑同一个文件。       如果是这种情况,请注意不要以两个为止       进行更改时,同一文件的不同实例。       退出,或继续谨慎。


  

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

有些Mac专家可以帮助我解决这个问题并逐步设置Java环境吗?

10 个答案:

答案 0 :(得分:283)

您需要做的就是:

echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile

然后重启你的shell。

如果您安装了多个JDK版本并且希望它是特定版本,则可以使用-v标记java_home,如下所示:

echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profile

答案 1 :(得分:19)

我是通过放

来做到的
export JAVA_HOME=`/usr/libexec/java_home`
我的.bashrc中的

(backtics)。请参阅我对Adrian的回答的评论。

答案 2 :(得分:9)

建议通过以下命令在设置 JAVA_HOME 环境变量之前检查默认终端外壳

$ echo $SHELL
/bin/bash

如果您的默认终端为 / bin / bash (bash),则应使用 @Adrian Petrescu 方法。

如果默认终端为 / bin / zsh (Z Shell),则应在〜/ .zshenv 文件中设置这些环境变量,其内容如下:

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

类似地,以上未提及的任何其他终端类型,都应在其各自的终端环境文件中设置环境变量。

答案 3 :(得分:7)

在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

答案 4 :(得分:7)

我只花了 2 个小时来设置这个变量。其他答案对我来说不起作用。我使用的是 macOS Catalina 10.15.4。

首先,找到您实际的 Java SDK 主目录。手动导航以确保您不会因版本不正确等而出现任何错误。对我来说,这是:

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

答案 5 :(得分:4)

我通过添加〜/ .profile来实现它。不知何故,在更新到El Capitan测试版之后,即使在.bash_profile中定义了JAVA_HOME,它也无法工作。

如果有任何El Capitan beta用户,请尝试添加.profile

答案 6 :(得分:0)

我已经更新了强大的实用程序jenv,可以轻松在macOS上进行设置。

按照https://github.com/hiddenswitch/jenv

上的说明进行操作

答案 7 :(得分:0)

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

下载并安装安装JDK

  1. 首先,安装JDK
  2. 打开终端检查Java版本
  

$ java -version

设置JAVA_HOME环境变量

  1. 打开 .bach_profile 文件
  

$ open -t .bash_profile

或创建 .bach_profile 文件

  

$ open -t .bash_profile

  1. 写入bash_profile
  

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

保存.bash配置文件并关闭bash文件,然后完美在终端中写入工作内容。

$ source .bash_profile

在终端中进行设置测试

$ echo $JAVA_HOME  
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home

答案 8 :(得分:0)

由于我使用的是由sdkman管理的openjdk,因此我添加了

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

将此内容添加到系统中后,java_home可以识别您已安装的Java版本,即使该Java版本不是通过标准软件包安装的也是如此

答案 9 :(得分:0)

如果您使用的是 Zsh,请尝试在 ~/.zshrc 文件中添加此行并重新启动终端。

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