0. 引言

mac m1芯片因为采用了arm架构,所以传统方式安装的jdk已经不再适用,当然m1也支持原有amd架构的jdk运行,但是运行速度远不如适配了arm架构了。

所以今天就来带大家安装基于arm架构的jdk

1. 下载镜像

1.1 oracle官方镜像源

官方提供的arm版本镜像源,可选择你需要的版本进行下载安装

​oracle官方: jdk 1.7 for arm​

​oracle官方: jdk 1.8 for arm​

​oracle官方:jdk11 for arm​

​oracle官方:jdk17 for arm​

​oracle官方:jdk18 for arm​

我们这里以在mac m1上安装jdk11为例,先选择jdk版本,然后再选择系统,最后选择需要的镜像,如下所示提供了压缩包形式或者dmg包形式。这里我们选择下载dmg包形式

mac pro M1(ARM)安装:jdk|java|动态切换jdk版本_macos

1.2 azul镜像源

azul是针对jdk for arm适配的最快的了,早在oracle之前就已经推出了jdk的arm版。相对官方适配,提供了更多jdk版本的arm源

​azul jdk:1.7、1.8、11、13、15、17​

mac pro M1(ARM)安装:jdk|java|动态切换jdk版本_JAVA_02

2. 安装

2.1 dmg包安装

1、双击刚刚下载的dmg安装包

mac pro M1(ARM)安装:jdk|java|动态切换jdk版本_arm_03

2、双击pkg图标,出现安装界面,点击继续即可

mac pro M1(ARM)安装:jdk|java|动态切换jdk版本_java_04

3、安装成功

mac pro M1(ARM)安装:jdk|java|动态切换jdk版本_java_05

4、测试,输入以下指令,能查询到版本号则说明安装成功

java -version

多版本jdk切换

如果和我一样安装了多个版本的jdk,需要进行切换时,那么可以安装如下步骤操作

1、首先要知道你jdk的安装目录,mac下的jdk安装目录如下

/Library/Java/JavaVirtualMachines

mac pro M1(ARM)安装:jdk|java|动态切换jdk版本_oracle_06

2、修改环境变量

vim ~/.bash_profile

3、修改内容如下,默认设置jdk版本为1.8,同时设置了动态切换jdk版本指令

# jdk
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
export JAVA_14_HOME=/Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home
export JAVA_15_HOME=/Library/Java/JavaVirtualMachines/zulu-15.jdk/Contents/Home
export JAVA_11_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.15.1.jdk/Contents/Home
export JAVA_HOME=$JAVA_8_HOME

# alias 命令动态切换 JDK 版本
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk11="export JAVA_HOME=$JAVA_11_HOME"
alias jdk14="export JAVA_HOME=$JAVA_14_HOME"
alias jdk15="export JAVA_HOME=$JAVA_15_HOME"

export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# jdk end

4、让环境变量生效

# 注意这里要让/etc/profile也生效,否则可能切换jdk失败
source /etc/profile ~/.bash_profile

5、查看当前jdk版本

java -version

mac pro M1(ARM)安装:jdk|java|动态切换jdk版本_java_07

6、动态切换版本至jdk11

jdk11

mac pro M1(ARM)安装:jdk|java|动态切换jdk版本_java_08

如果动态切换版本不生效,首先确保修改bash_profile文件后执行的是​​source /etc/profile ~/.bash_profile​​​,如果还不生效则修改​​.zshrc​​文件

vim .zshrc

在最后添加上,让bash_profile文件的配置内容永久生效

source ~/.bash_profile

7、如果切换窗口需要再执行下​​source /etc/profile​​指令,也就是说新开窗口需执行如下指令切换

jdk 8
source /etc/profile

mac pro M1(ARM)安装:jdk|java|动态切换jdk版本_macos_09