如何在Mac上安装Java 8:5个致命错误及其解决方案

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Java 8 在Mac上:值得经历的奥德赛



您打开这篇文章——很可能是因为遇到了一个经典问题。您在Mac上下载了Java 8 (JDK 1.8),运行了安装程序,然后……什么都不起作用。终端输入java -version显示"not found",或者更令人沮丧的是,显示的是您半年前为了实验安装的Java 14。



欢迎加入这个俱乐部。"How to install Java 8 on Mac"这个问题是Stack Overflow上最热门的问题之一,这并非偶然。macOS(尤其是Catalina和Big Sur之后)在处理旧版Java时是一个挑剔的系统。但别担心:我们将分析即使是经验丰富的开发人员也会犯的前5个错误,并向您展示如何避免它们。



顺便说一句,如果您正在学习Java并想了解为什么版本8至今仍然如此流行(剧透:Stream API、Lambda表达式和稳定性),那么安装完成后,我们将编写几行代码来证明这一点。



错误 #1:下载了错误的版本(Oracle vs OpenJDK)



最常见的陷阱。您访问Oracle网站,看到一堆"Download"按钮,然后下载了JRE而不是JDK。或者反过来——下载了Linux版本。



如何正确操作?

要进行Java 8开发,您需要JDK (Java Development Kit),而不是JRE。JRE只是运行时环境,没有javac编译器。



选项 A(Oracle JDK — 经典):

  • 访问Oracle JDK 8 存档页面。
  • 接受许可协议(是的,您需要登录或创建一个Oracle账户——这让很多人烦恼)。
  • 下载jdk-8u351-macosx-x64.dmg(或8uXXX系列中的更新版本)。


选项 B(OpenJDK — 免费且无需账户):

  • 使用Adoptium(前身为AdoptOpenJDK):下载Temurin 8。
  • 选择macOS,架构选择x64(即使在M1/M2上——通过Rosetta 2也能完美运行)。
  • 下载.pkg文件。


建议: 出于学习目的和与旧项目的兼容性,请选择OpenJDK (Temurin)。Oracle JDK 8不再接收公共安全更新。



错误 #2:忽略macOS的"安全门"(Gatekeeper)



您安装了JDK,但在终端尝试运行java -version时得到:



-bash: java: command not found


或者更糟的是,出现消息:““java” cannot be opened because the developer cannot be verified.”



这是Gatekeeper——macOS的安全系统。它会阻止安装未经Apple签名或非从App Store下载的软件包。



解决方案:

  1. 打开系统设置 → 安全性与隐私。
  2. 在底部您会看到消息:“程序已被阻止...” — 点击“仍要打开”按钮。
  3. 如果没有按钮,请通过右键单击 → 打开(不要双击)来启动安装程序。


之后,安装将顺利进行。



错误 #3:忘记配置JAVA_HOME(或配置到了错误的位置)



这可能是Stack Overflow上最常见的问题。您安装了Java 8,但系统仍然看到旧版本(或者根本看不到任何版本)。



检查当前版本:

/usr/libexec/java_home -V

此命令将显示所有已安装的

博客

书籍推荐