【问题标题】:How to install Java on a Mac如何在 Mac 上安装 Java
【发布时间】:2020-09-04 14:41:13
【问题描述】:

我一直在研究如何在正确的 PATH 上安装 Java jre 和 jdk。当我开始理解其他人会指示改变终端路径时,我缺乏理解力。即使经过几次试验。我仍然会得到一个错误。

我怎样才能正确安装 Java 并让它运行,以便我可以运行我的 Java IDE。

【问题讨论】:

  • 您是否尝试仅下载 jdk dmg 文件并安装它? adoptopenjdk.net
  • 没什么可研究的,所以:你是如何安装它的? (你下载了吗,如果是的话,你是在哪里以及如何处理该下载的;你是否使用自制软件;你是否做了其他事情......?)
  • 我正在尝试安装 Eclipse。我确实有 jre install 和 jdk。
  • @Mike'Pomax'Kamermans 我应该更具体一些。我对windows没有问题,它只是我遇到的os x。我有 macbook os x maverick,2008 年末的 macbook,我无法获得 el capitan os。我像任何其他程序一样安装。它从不询问在我的 macbook 上安装的位置。
  • 你能检查ls -l /usr/bin/java的输出吗?由于 java_home 有效,我想知道您的“java”simlink 是否指向错误的东西或不存在。两者都可以给你一个找不到的命令。

标签: java macos


【解决方案1】:

我一直在研究如何在上面安装 Java jre 和 jdk 正确的路径。

JRE 自 Java 11 起已停止使用。由于您在谈论 Java 14,因此没有适用于它的 JRE。您只需要安装(和配置,如果需要)JDK。

使用以下命令,然后检查java -version

export JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home"
export PATH="$PATH:$JAVA_HOME/bin"

请注意,它仅适用于您当前的会话,即java -version 在另一个终端窗口中不起作用。

要永久设置JAVA_HOME,请执行以下操作:

$ cd ~
$ vi .bash_profile  

将以下行写入.bash_profile文件,保存退出:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home"
export PATH="$PATH:$JAVA_HOME/bin"

然后刷新(读取并执行.bash_profile

$ source .bash_profile

最后测试

$ echo $JAVA_HOME
$ java -version

注意:另外,This thread 可能对您有用。

【讨论】:

    【解决方案2】:

    确定您当前安装了哪些 java 安装的最简单方法是运行:

    /usr/libexec/java_home
    

    这将返回您当前安装的默认 Java jdk。你也可以运行:

    java -v
    

    这将显示您的路径遇到的第一个 JDK 的当前版本。

    如果您想查看已安装的所有 Java JDK 版本,可以运行带有 -V(详细)标志的第一个命令,它将列出您已安装的所有版本的路径。

    如果您安装了多个版本,您可以在.bashrc.bash_profile 中修改您的$PATH 变量。 (请注意,这些是我的系统 macOS 的文件,但对于 Linux 安装,配置文件可能会有所不同,我根本不知道)。你可以阅读一个关于你应该在哪里做的约定。

    很简单,如果您不想要的版本是在您运行 java -vwhich java 时出现的版本,那么您必须将所需 JDK 的路径添加到您的 $PATH 中,如上所述。

    为了查看你当前的路径,你可以运行echo $PATH

    为了修改您的路径,您将向系统的 bash 配置文件之一添加类似于以下的命令:

    export PATH=$PATH:/[NEW_PATH]
    

    export PATH=[DESIRED_PATH]:$PATH
    

    第一个命令添加到路径的末尾,第二个添加到路径的开头。

    您很可能希望在现有 $PATH 变量的开头添加所需 JDK 的路径。

    显然,更改路径时要非常小心,您不希望其他程序中断,因此请确保您只需在原始变量前面添加所需的 JDK 路径,以便唯一相关的程序 java 具有改变。

    【讨论】:

    • 这是一篇大文章,因为不知道用户尝试了什么。如果有帮助,我会印象深刻。
    • 我有时间,如果他们有更多细节,他们可以随时询问或输入。也许它会帮助海报以外的人。
    • 问题是当我检查 java -version 时,找不到命令。我安装的唯一 java 是 jdk 14.01 和最近的 java jre 8.251
    • 请确保您正在运行 java -vjava --version 。如果您使用带有单个破折号的整个单词标志,它将不起作用。
    • @antong 任何一个都为我提供了一个版本。它说“找不到命令”
    【解决方案3】:

    安装程序自动更新路径

    我一直发现,在 macOS 上使用安装程序安装 Java 实现后,已经为我设置了正确的路径。无需额外配置。

    安装程序完成后,在终端应用程序中运行:

    java --version
    

    ...验证您新安装的 Java 实现。

    IDE 使用自己的 JVM

    你说:

    让它运行,这样我就可以运行我的 Java IDE。

    请注意,某些IDEs(例如IntelliJ)与它们自己的Java 实现捆绑在一起。因此,您下载的JVM实际上正在运行您的 IDE。此内部 JVM 用于运行 IDE 本身。

    我记得,这个 JVM 可用于在开发中运行您的应用程序。但是您可能希望下载并安装类似于生产环境中使用的版本(可能还有供应商)的 JVM。

    在您的 IDE 设置、项目设置和构建工具设置(Maven、Gradle 等)中,您可以告诉 IDE 使用哪个外部 JVM 来运行您的应用程序。同时,IDE 继续使用其自己的内部捆绑 JVM 自行运行。


    这是我为帮助解释各种实现而制作的流程图。除了最后两家供应商之外,所有供应商都可能为您的 Mac 提供安装程序。

    如果您没有理由选择特定供应商,我建议您使用 AdoptOpenJDK,这是 Java 社区中许多人支持的合作项目,包括此处列出的大多数(如果不是全部)供应商。

    欲了解更多信息,请阅读重要帖子:Java Is Still Free

    【讨论】:

      【解决方案4】:

      在 2022 年,您只能使用 brew

      brew install openjdk
      

      也许你需要更新PATH env:

      export PATH="/usr/local/opt/openjdk/bin:$PATH"
      

      ……以后试试sdkman,比brew

      curl -s "https://get.sdkman.io" | bash
      

      然后打开一个新的shell并尝试list看看你可以安装什么;-)

      sdk list java 
      

      在撰写本文时,您可以使用:

      sdk install java 17.0.1-tem
      

      【讨论】:

        猜你喜欢
        • 2014-08-12
        • 1970-01-01
        • 1970-01-01
        • 2017-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-13
        • 2021-12-20
        相关资源
        最近更新 更多