Mac M1安装JDK的实战避坑指南

 更新时间:2023年02月09日 09:57:22   作者:扫地僧'  
这篇文章主要给大家介绍了关于Mac M1安装JDK避坑的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

前言

在经历了各种花里胡哨的操作后,发现M1安装JDK简直不要太无脑!!!虽然网上的教程已经很多了,但是很多还是不够详细,或者容易踩坑。于是我这里总结了一个全面的教程,给出两个方案如下⬇️

一、Zulu JDK

1.一键安装方案

在Orcle没有适配M1芯片之前,zulu jdk无疑是最优的选择,因为它提供了支持M1芯片Arm 64架构的 OpenJDK 。注意我说的是 “之前” ,那么隐含意思就是现在Java官方也提供了M1适配版本,这让作为 M 系列用户之一的我,听到后幸福感翻倍。

我们先来看看 Azul Zulu of OpenJDK。

官网下载地址:https://www.azul.com/downloads/?version=java-8-lts&os=macos&architecture=arm-64-bit&package=jdk

进入后按照下图进行选择适合自己的版本(这里链接点进去是经典的JDK 1.8,您也可以自行更换想要的版本) ⬇️

这里我的建议是直接下载 .dmg 格式,这样你就可以体验一件安装模式了,会自动帮您配置好系统环境环境变量,安装即完成。(幸福~)

安装完成直接在终端轻描淡写的输入:java --version + 回车

是的,没错,它已经可以用了😭。

默认安装路径如下,有需要自行查看 ⬇️

/Library/Java/JavaVirtualMachines

顺便提一嘴,拿到 Mac M1的那一刻应该是已经贴心的装好了一个 zulu-8.jdk 可以直接使用的,所以需要更换蹦高版本再进行如上操作吧。

2.手动安装方案

如果动手能力强的你不想任其安排,想要自己体验安装过程,或者想将JDK安装在自己喜欢的地方那么就下载压缩包版本。(下载到指定位置并解压不用我说了吧~)手动方案我们有两种方案可供选择。

1)配置.bash_profile文件

此种方法在MacOS系统下算是一个通用方法,但是由于 M1 开始便默认使用了 zsh ,所以我们的配置方式也就一分为二了,现在先给出传统方式。我个人比较推荐配置 .bash_profile 文件,因为后续开发中需要的各种环境我都可以井井有条地进行整理。废话不说,直接开始吧 ⬇️

第一步:打开终端输入以下命令编辑配置文件

vim ~/.bash_profile

如果提示如下错误信息:

.bash_profile does not exist.

说明您是第一次配置环境变量,需要先创建~/.bash_profile文件,输入以下命令再次进行上面的操作即可:

touch .bash_profile

进入如下提示页面我们直接键入英文字母E进入编辑。

刚进入 .bash_profile 文件我们是无法进行编辑的,需要在英文输入法模式下键入i 即可开始编辑,此时底部也会提示 “INSERT” 进入编辑模式。

第二步:配置环境变量

准备好两个您自行下载的并且解压后的JDK安装路径,将下面路径更换成自己的就行(不可无脑复制),然后复制张贴到配置文件中。

# 配置JDK环境 
# JAVA_HOME:JDK路径     $JAVA_HOME/bin下面是JDK的各种命令  
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.

这里有小伙伴就要纠结了,要不要配置CLASSPATH?

之所以你看到很多教程里面要配置CLASSPATH,是因为当我们配置CLASSPATH后,系统会根据我们所配置的CLASSPATH加载类。主要涉及到两个jar包:

  • dt.jar:是关于运行环境的类库,主要是用于swing的包,如果不使用可以不配置。
  • tools.jar:是工具类库,它在编译和运行一个类时被使用。

如我们使用javac命令编译程序时,系统加载tools.jar其实就封装了下面这样一条命令:

javac XXX.java
java -CLASSPATH=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java

但是在JDK1.5以后,CLASSPATH并不是必须配置了,在JDK1.5之前,是没有办法在当前目录下加载类的(找不到 JDK目录下lib文件夹中的.jar文件),所以我们需要通过配置CLASSPATH,但JDK1.5之后,JRE能自动搜索目录下类文件,并且加载dt.jar和tool.jar的类。(结论就是可不配

完成以上操作后直接依次键入:ESC + :wq 即可。

第三步:使配置文件立即生效

输入以下命令使刚才的配置文件生效

source ~/.bash_profile

OK,大功告成!接下来键入 java --version 即可查看安装的JDK了。

但是此种方式,如果你是M1用户你每次重启终端都需要手动输入 source ~/.bash_profile 使配置文件生效,否则可能找不到命令。解决方案就是在 .zshrc 文件中加入 source ~/.bash_profile ,这样每次打开终端便会自动执行该命令。

大致步骤同上面的操作下面给简单步骤:

  • 编辑文件:vim ~/.zshrc
  • 在.zshrc中加入 source ~/.bash_profile 然后保存并退出
  • source ~/.zshrc使配置文件生效

2)配置.zshrc文件

相比于上面的方式,此种方法来得更直接,对M1用户更友好。步骤大致同上,下面给出简单说明⬇️

第一步:打开终端输入以下命令编辑配置文件

vim ~/.zshrc

第二步:配置环境变量

# 配置JDK环境 
# JAVA_HOME:JDK路径     $JAVA_HOME/bin下面是JDK的各种命令  
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.

完事儿后,依次键入:ESC + :wq 保存并退出即可。

第三步:使配置文件生效

source ~/.zshrc

完事儿,简单粗暴。

二、Oracle JDK

可喜可贺的是Oracle JDK17 已经可以适配 Macbook M1 芯片了!!!!🎉🎉🎉

下载地址:https://www.oracle.com/cn/java/technologies/downloads/#java17

遗憾的是Orcle只对 JDK17、JDK19进行了适配,而抛弃了千年老八 JDK8 ,然而现在用的最多的就是JDK8与JDK11了,这里属实没想明白Orcle在想些啥。

安装流程:

同上面的 Zulu JDK 直接下载 .dmg 版本无脑安装即可。当然还是那句话,动手能力强的你也可以下载免安装版本进行手动配置环境变量。

总结

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

相关文章

  • 解决RestTemplate 请求url中包含百分号 会被转义成25的问题

    解决RestTemplate 请求url中包含百分号 会被转义成25的问题

    这篇文章主要介绍了解决RestTemplate 请求url中包含百分号 会被转义成25的问题,具有很好的参考价值,希望对大家有所帮助。
    2021-10-10
  • 获取Java的MyBatis框架项目中的SqlSession的方法

    获取Java的MyBatis框架项目中的SqlSession的方法

    SqlSession中包括已经映射好的SQL语句,这样对象实例就可以直接拿过来用了,那么这里就来讲解获取Java的MyBatis框架项目中的SqlSession的方法
    2016-06-06
  • Java创建ZIP压缩文件的方法

    Java创建ZIP压缩文件的方法

    这篇文章主要介绍了Java创建ZIP压缩文件的方法,实例分析了java创建zip文件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • kafka安装部署超详细步骤

    kafka安装部署超详细步骤

    这篇文章主要介绍了kafka安装部署的详细步骤,主要应用场景是:日志收集系统和消息系统,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • Mybatis查询返回Map<String,Object>类型的实现

    Mybatis查询返回Map<String,Object>类型的实现

    本文主要介绍了Mybatis查询返回Map<String,Object>类型的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • mac系统刚安装的idea打不开的问题及解决

    mac系统刚安装的idea打不开的问题及解决

    这篇文章主要介绍了mac系统刚安装的idea打不开的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • springboot 启动如何排除某些bean的注入

    springboot 启动如何排除某些bean的注入

    这篇文章主要介绍了springboot 启动如何排除某些bean的注入方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • springboot数据访问和数据视图的使用方式详解

    springboot数据访问和数据视图的使用方式详解

    这篇文章主要为大家介绍了springboot数据访问和数据视图的使用方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • MDC在多线程中的使用方式

    MDC在多线程中的使用方式

    这篇文章主要介绍了MDC在多线程中的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Java对数器验证算法详解

    Java对数器验证算法详解

    这篇文章主要介绍了Java对数器验证算法,Java对数函数的计算方法非常有问题,然而在API中却有惊人的误差。但是假如运用了以下的方法,用Java处理数字所碰到的小麻烦就可以轻而易举的解决了
    2023-04-04

最新评论