Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Mac OS X 10.9上设置JAVA_HOME环境变量?_Java_Macos_Osx Mavericks - Fatal编程技术网

如何在Mac OS X 10.9上设置JAVA_HOME环境变量?

如何在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) 另一个程序可能正在编辑同一文件。 如果是这种情况,请小心不要以两个结束 进行更改时同一文件的不同

我刚买了一台全新的MacBookPro

这是我有史以来的第一台MAC电脑,我仍在努力掌握导航的窍门

无论如何,我也是Java新手,在我的Windows PC永久消亡之前,我一直在练习

现在我在这个MAC上,我安装了JDK,现在我需要设置
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环境变量的说明进行操作。 下载并安装

  • 首先,安装JDK
  • 打开终端检查java版本
  • $java-version

    设置JAVA_主环境变量

  • 打开.zprofile文件
  • $open-t.zprofile

    或者创建。zprofile文件

    $
    open-t.zprofile

  • 写入.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。区别我