mac系统如何下载和安装jdk的三种方式

 更新时间:2025年01月08日 10:49:33   作者:布朗克168  
这篇文章主要介绍了mac系统下载和安装jdk的三种方式,每种方法都有其特点,如安装来源及可靠性、安装过程及便捷性、版本管理及切换、环境配置、jdk默认安装路径以及占用空间及资源管理等,需要的朋友可以参考下

一、安装方式(目前有三种方式)

以JDK8为例

(一)通过 Oracle 官网下载安装包安装

  • 下载 JDK 8 安装包

    访问 Oracle 官方网站的 Java SE 8 下载页面,根据你的 Mac 系统版本选择对应的安装包进行下载。例如,如果你的 Mac 是 64 位系统,则选择下载 “macOS x64” 版本的安装包。

  • 安装 JDK

    下载完成后,双击安装包文件(.dmg 格式),会弹出安装向导。按照向导的提示进行安装,通常只需要一路点击 “继续” 或 “下一步” 按钮即可完成安装。默认情况下,JDK 会被安装到 /Library/Java/JavaVirtualMachines/jdk1.8.0_xxx.jdk 目录下,其中 xxx 表示具体的版本号。

  • 验证是否安装成功

    可以在终端中使用 java -version 命令来验证是否安装成功。

(二)使用 Homebrew 安装

  • 安装 Homebrew

    如果你的 Mac 上尚未安装 Homebrew,可以打开终端,输入以下命令进行安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

2.通过 Homebrew 安装 JDK 8

​ 安装完成 Homebrew 后,在终端中输入以下命令来安装 JDK 8:

brew tap adoptopenjdk/openjdk
brew install --cask adoptopenjdk8

Homebrew 会自动下载并安装 JDK 8,安装完成后,JDK 会被配置到系统环境变量中

3.验证是否安装成功

可以在终端中使用 java -version 命令来验证是否安装成功。

(三)使用 SDKMAN 安装

  • 安装 SDKMAN

    打开终端,输入以下命令来安装 SDKMAN:

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

安装完成后,按照终端提示的信息,执行相应的命令来初始化 SDKMAN,例如:

source "$HOME/.sdkman/bin/sdkman-init.sh"

2.通过 SDKMAN 安装 JDK 8

​ 在终端中输入以下命令来安装 JDK 8:

sdk install java 8.0.362-zulu

SDKMAN 会自动下载并安装指定版本的 JDK 8,安装完成后,你可以使用 sdk use java 8.0.362-zulu 命令来切换到 JDK 8 环境,或者使用 java -version 命令来验证是否安装成功。

3.验证是否安装成功

可以在终端中使用 java -version 命令来验证是否安装成功。

java version "1.8.0_362"
Java(TM) SE Runtime Environment (build 1.8.0_362-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.362-b09, mixed mode)

二、安装方式比较

(一)安装来源及可靠性

  • Oracle 官网下载安装包安装:直接从 Oracle 官方获取安装包,可靠性高,能确保获得正版、稳定且未经修改的 JDK 版本,适合对软件来源和版本纯净度要求较高的用户和企业级开发环境。
  • 使用 Homebrew 安装:Homebrew 是 Mac 上常用的第三方包管理工具,它提供了一种便捷的方式来安装和管理各种软件包,包括 JDK。通过 Homebrew 安装的 JDK 来自其维护的软件源,这些软件源通常会对软件进行一定的测试和验证,但与官方直接下载相比,其版本可能会有一定的滞后性,不过对于大多数普通用户的开发需求来说已经足够可靠。
  • 使用 SDKMAN 安装:SDKMAN 主要用于管理多个不同版本的软件开发工具包,其提供了一种方便的方式来切换不同版本的 JDK 等工具。SDKMAN 上的 JDK 版本来源也是经过其团队筛选和整理的,但同样不是直接从 Oracle 官方获取,在版本的及时性和完整性上可能与官方略有差异,但它的优势在于可以轻松管理多个 JDK 版本,适合需要在不同项目中频繁切换 JDK 版本的开发者。

(二)安装过程及便捷性

  • Oracle 官网下载安装包安装:需要手动访问 Oracle 官网,找到对应的 JDK8 下载页面,根据系统版本选择合适的安装包进行下载,然后双击安装包按照向导进行安装。整个过程相对较为繁琐,需要用户手动操作较多步骤,但对于熟悉软件安装流程的用户来说也并不复杂。
  • 使用 Homebrew 安装:在安装了 Homebrew 之后,只需在终端中输入简单的命令即可完成 JDK8 的安装,无需手动下载安装包和进行繁琐的配置,Homebrew 会自动处理依赖关系和环境变量配置等问题,安装过程更加自动化和便捷,适合喜欢使用命令行进行软件管理的开发者。
  • 使用 SDKMAN 安装:安装 SDKMAN 本身需要执行一段命令来进行安装和初始化,之后再通过 SDKMAN 安装 JDK8 也需要输入相应的命令。虽然整体过程不算复杂,但相比于直接使用 Homebrew 安装,步骤稍多一些。不过,SDKMAN 的优势在于其提供了强大的版本管理功能,对于需要频繁切换 JDK 版本的用户来说,这种一次性的配置是值得的。

(三)版本管理及切换

  • Oracle 官网下载安装包安装:如果需要使用不同版本的 JDK,通过 Oracle 官网安装方式则需要手动下载并安装不同版本的 JDK,然后通过修改环境变量等方式来切换使用的版本,操作相对麻烦,且容易出现环境变量配置错误等问题。
  • 使用 Homebrew 安装:Homebrew 本身不具备像 SDKMAN 那样强大的版本管理功能,但可以通过一些额外的命令和操作来实现类似的效果。例如,可以使用 brew info adoptopenjdk8 查看已安装的 JDK8 版本信息,使用 brew switch adoptopenjdk8 1.8.0_xxx 来切换到指定的版本,但这种方式相对不够直观和便捷,且对于非 Homebrew 安装的 JDK 版本无法直接管理。
  • 使用 SDKMAN 安装:SDKMAN 的核心优势之一就是版本管理。可以通过 sdk list java 命令查看所有可用的 JDK 版本,然后使用 sdk install 命令安装指定版本,使用 sdk use 命令在不同版本之间快速切换,无需手动修改环境变量,大大提高了开发效率,尤其适合同时参与多个不同 JDK 版本要求项目的开发者。

(四)环境配置

  • Oracle 官网下载安装包安装:安装完成后,需要手动配置环境变量,以便在终端中能够正确地使用 javajavac 等命令。通常需要编辑 ~/.bash_profile 或 ~/.zshrc 等文件,添加类似于 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_xxx.jdk/Contents/Home 和 export PATH=$JAVA_HOME/bin:$PATH 的配置,然后重新加载配置文件或打开新的终端窗口才能使配置生效。
  • 使用 Homebrew 安装:Homebrew 在安装 JDK8 时会自动配置好环境变量,无需用户手动干预,安装完成后即可直接在终端中使用 java 等命令,大大简化了环境配置的过程,降低了因环境变量配置错误导致的问题。
  • 使用 SDKMAN 安装:SDKMAN 安装完成后也会自动配置好相关的环境变量,并且在使用 sdk use 命令切换版本时会自动更新环境变量,确保使用的是正确的 JDK 版本,进一步简化了多版本 JDK 环境的管理和配置。

(五)jdk默认安装路径

  • Oracle 官网下载安装包安装:JDK 会被默认安装到 /Library/Java/JavaVirtualMachines/jdk1.8.0_xxx.jdk 目录下,其中 xxx 表示具体的版本号。在这个目录下,Contents/Home 文件夹中包含了 JDK 的所有核心文件和目录,如 bin 目录存放了 javajavac 等可执行文件,lib 目录存放了 JDK 的类库文件等。

  • 使用 Homebrew 安装:其安装路径可能因具体的 JDK 版本和 Homebrew 的配置而有所不同。一般来说,通过 Homebrew 安装的 JDK 会被安装到 /usr/local/Cellar/openjdk@8/ 目录下,后面同样跟着具体的版本号。在该目录下,也有类似 Contents/Home 的文件夹结构,其中包含了 JDK 的核心文件和目录。

  • 使用 SDKMAN 安装:默认路径通常在用户主目录下的 .sdkman/candidates/java/ 目录中,对应的 JDK 版本号会作为子目录名,例如 8.0.362-zulu。在这个子目录下同样有 binlib 等标准的 JDK 目录结构,存放着相应的可执行文件和类库文件等。

    注意:安装 JDK 后,三种方式都可以通过在终端中输入 java -version 命令来查看 JDK 的版本信息,进而确认 JDK 是否安装成功以及大致了解其安装位置。如果需要更精确地查找 JDK 的安装路径,可以使用 which java 命令,该命令会显示当前系统中所使用的 java 可执行文件的路径,根据此路径可以进一步确定 JDK 的安装目录。

(五)占用空间及资源管理

  • Oracle 官网下载安装包安装:从 Oracle 官网下载的 JDK 安装包通常包含了完整的 Java 开发工具包和运行时环境,因此安装后占用的磁盘空间相对较大。用户需要根据自己的磁盘空间情况合理安排安装位置,并且在不需要使用某个版本的 JDK 时,需要手动删除对应的安装目录来释放空间。

  • 使用 Homebrew 安装:Homebrew 安装的 JDK 同样会占用一定的磁盘空间,但由于其软件包管理的特性,会自动处理依赖关系和版本更新等问题,相对来说对磁盘空间的管理更加方便。可以通过 brew cleanup 命令清理不再需要的软件包和旧版本,释放磁盘空间。

  • 使用 SDKMAN 安装:SDKMAN 本身占用的空间较小,其主要是管理不同版本的 JDK 等工具的安装目录。每个通过 SDKMAN 安装的 JDK 版本会占用各自的空间,用户可以根据需要随时安装和删除不同版本,方便灵活地管理磁盘空间和资源。

综合来看,如果追求最纯正、最稳定的 JDK 版本以及企业级的可靠性,建议选择 Oracle 官网下载安装包安装;如果注重便捷性和自动化的软件管理,以及对版本管理要求不是特别高,Homebrew 是一个不错的选择;而对于需要频繁切换不同 JDK 版本进行开发的开发者来说,SDKMAN 则提供了更强大、更便捷的版本管理功能。请读者朋友们根据实际场景选择合适的安装方式。

总结

到此这篇关于mac系统如何下载和安装jdk的文章就介绍到这了,更多相关mac下载和安装jdk内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring+Vue整合UEditor富文本实现图片附件上传的方法

    Spring+Vue整合UEditor富文本实现图片附件上传的方法

    这篇文章主要介绍了Spring+Vue整合UEditor富文本实现图片附件上传的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Java中的日期时间类实例详解(Date、Calendar、DateFormat)

    Java中的日期时间类实例详解(Date、Calendar、DateFormat)

    在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理,这篇文章主要介绍了Java中的日期时间类详解(Date、Calendar、DateFormat),需要的朋友可以参考下
    2023-11-11
  • idea聚合工程搭建过程详解

    idea聚合工程搭建过程详解

    本章主要以order订单服务来远程调用payment支付服务为例,当然这里只是简单的一个远程调用,没有太复杂的逻辑,重点是要掌握的是maven的聚合工程搭建,微服务分模块的思想,每一个步骤我都会详细记录,并且文章下方还提供了git源码地址
    2022-06-06
  • Java数组队列概念与用法实例分析

    Java数组队列概念与用法实例分析

    这篇文章主要介绍了Java数组队列概念与用法,结合实例形式分析了Java数组队列相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-03-03
  • 带你走进Maven的大门-最全Maven配置及集成idea工具总结

    带你走进Maven的大门-最全Maven配置及集成idea工具总结

    Maven项目对象模型(POM),是一个项目管理工具可以通过一小段描述信息来管理项目的构建,报告和文档的软件.那我们想要在IDEA中使用Maven得进行一些配置,接下来我们具体看一下是如何配置使用的,需要的朋友可以参考下
    2021-06-06
  • springboot实现发送QQ邮箱

    springboot实现发送QQ邮箱

    这篇文章主要为大家详细介绍了springboot实现发送QQ邮箱,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • mybatis的association传递参数问题示例

    mybatis的association传递参数问题示例

    这篇文章主要介绍了mybatis的association传递参数问题,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • Java自动解压文件实例代码

    Java自动解压文件实例代码

    Java自动解压文件实例代码,需要的朋友可以参考一下
    2013-04-04
  • Java正则校验密码至少包含字母数字特殊符号中的2种实例代码

    Java正则校验密码至少包含字母数字特殊符号中的2种实例代码

    正则表达式验证密码功能在项目中经常被使用到,但是很多朋友还是不大会使用密码正则表达式进行验证,下面这篇文章主要给大家介绍了关于Java正则校验密码至少包含字母数字特殊符号中2种的相关资料,需要的朋友可以参考下
    2022-08-08
  • IDEA性能优化设置(解决卡顿问题)

    IDEA性能优化设置(解决卡顿问题)

    在我们日常使用IDEA进行开发时,可能会遇到许多卡顿的瞬间,本文主要介绍了IDEA性能优化设置,非常具有实用价值,需要的朋友可以参考下
    2023-05-05

最新评论