跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)

日常办公和软件开发除了可以使用Windows系统以外,还可以使用macOS系统,至于具体使用什么系统取决于你入职公司之后公司给你发的什么电脑,如果是MacBookPro那么就使用macOS开发项目,因此现在我们开始在macOS系统下搭建Java8的开发环境,如果你的Mac电脑使用的Apple CPU(例如M1,M1 Pro,M1 Ultra,M2),那么按照如下方法下载、安装和配置Java8开发环境

1. Mac平台的CPU架构

早期Mac电脑都是使用Intel 的CPU,在2020年以后苹果公司在ARM架构的基础上自研CPU,例如M1,M1 Pro,M1 Ultra,M2等等,因此苹果公司的Mac电脑有 Intel x86架构和ARM 架构两种不同的CPU架构
那么问题来了,我怎么知道我使用的Mac电脑CPU架构呢?
在macOS Ventura 点击左上角的苹果菜单,然后选择关于本机

在弹出的窗口中看到芯片是Apple开头的 ,例如Apple M1 Pro,Apple M1 Max,Apple M1 Ultra,Apple M2,等等就是属于ARM架构
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第1张图片

在macOS Montery 点击左上角的苹果菜单,然后选择关于本机
在弹出的概览窗口中看到处理器包含Intel,例如2.3 GHz 八核 Intel Core i9 就是属于Intel x86架构
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第2张图片

正是有这两种不同的CPU架构,直接导致基于Intel x86架构开发的程序(例如金山文档、恒星播放器、cleanmymac)是无法直接运行在基于ARM架构的CPU(例如M1,M1 Pro,M1 Max,M1 Ultra ,M2)上

2. Rosetta

2.1 什么时候需要Rosetta

苹果公司提供了一个翻译工具-Rosetta 2,通过 Rosetta 2,搭载 Apple 芯片的 Mac 可以使用专为配备 Intel 处理器的 Mac 构建的 App,这样也就意味着以前为Intel CPU开发的程序可以通过Rosetta 2 运行在苹果芯片的Mac电脑上,例如金山文档、恒星播放器等等。

2.2 如何安装Rosetta

Rosetta 2 仅适用于搭载 Apple 芯片的 Mac 电脑。

首次打开需要 Rosetta 的 App 时,系统会要求您安装 Rosetta。点按“安装”,然后输入您的用户名和密码以允许继续安装。

跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第3张图片

如果您点按“以后”,则下次打开需要 Rosetta 的 App 时,系统会再次要求您安装 Rosetta。

如果 Rosetta 已经安装,则系统不会再次要求您安装,也就是仅仅需要安装一次。

2.3如何使用 Rosetta

您不需要打开 Rosetta 或与这个 App 互动。每当您使用专为搭载 Intel 处理器的 Mac 电脑构建的 App 时,Rosetta 都会在后台自动运行。Rosetta 会转换相应 App,使它可以与 Apple 芯片搭配使用。
对于需要 Rosetta 的 App,在大多数情况下,您不会察觉它的性能有任何不同。不过,您应该联系 App 开发者,以询问相应 App 有没有一个版本能够以原生方式来充分利用 Apple 芯片的功能和性能。

2.4 哪些 App 需要 Rosetta?

要识别需要 Rosetta 或者可以使用 Rosetta 的 App,请按照以下步骤操作:

在“访达”中选择一个 App。
从菜单栏的“文件”菜单中,选取“显示简介”。

查看标有“种类”字样的信息:
应用程序 (Intel) 表示 App 仅支持 Intel 处理器,并且需要 Rosetta 才能在搭载 Apple 芯片的 Mac 上运行。例如金山文档、恒星播放器
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第4张图片

跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第5张图片

应用程序(通用)表示 App 既支持 Apple 芯片也支持 Intel 处理器,并且在默认情况下使用 Apple 芯片。通用 App 不需要 Rosetta。
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第6张图片

对于标有“应用程序(通用)”的 App,“简介”窗口包含“使用 Rosetta 打开”这项设置。通过这项设置,网页浏览器等通用 App 可以使用还没有更新为支持 Apple 芯片的插件、扩展或其他附加组件。如果某个通用 App 无法识别您为这个 App 安装的附加组件,您可以退出这个 App,选择这项设置,然后再试一次。
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第7张图片

应用程序(Apple芯片) 表示App是专门针对Apple芯片开发的,例如例如M1,M1 Pro,M1 Max,M1 Ultra ,M2)等等

3. 基于ARM 64-bit macOS版Java8下载

  1. 访问azul官网,其访问地址是https://www.azul.com/
    由于Oracle官方没有提供针对Apple芯片的Java8,因此我们需要使用第三方提供的基于ARM架构的Java8
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第8张图片

azul官网
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第9张图片

  1. 点击右上角的Download Now,跳转到下载页面
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第10张图片

然后在下载页面点击Zulu的Download Now
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第11张图片

跳转到Download Azul Zulu Builds of OpenJDK
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第12张图片

  1. 选择Java8
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第13张图片

4.点击.dmg开始下载
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第14张图片

浏览器会自动开始下载
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第15张图片

  1. 下载成功
    下载成功后会在访达的下载目录看到zulu8.66.0.15-ca-jdk8.0.352-macosx_aarch64.dmg
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第16张图片

4. 基于ARM 64-bit macOS版Java8安装

  1. 双击zulu8.66.0.15-ca-jdk8.0.352-macosx_aarch64.dmg
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第17张图片

  2. 双击 Azul Zulu JDK 8.pkg

3.点击继续
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第18张图片

  1. 点击安装
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第19张图片

安装之前安装器会提示 使用触控ID或输入密码以运行此次操作
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第20张图片

  1. 安装中
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第21张图片

  2. 安装成功
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第22张图片

点击关闭按钮可以完成安装,然后会提示 你要将Azul Zulu JDK 8.66.0.15 安装器移除到废纸篓吗?这里建议保留,因为后期可能会因为某些原因重装
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第23张图片

  1. 推出桌面的 Azul Zulu JDK 8.66.0
    选中Azul Zulu JDK 8.66.0,然后右键推出即可,当然也可以使用快捷键Command+E推出

5. 基于ARM 64-bit macOS版Java8配置

5.1基于ARM 64-bit macOS版Java8配置说明

当基于ARM架构 macOS版Java8安装完成以后,你会发现即使没有配置JAVA_HOME环境变量,在终端上运行mvn --version时也不会像Windows那样提示需要配置JAVA_HOME

而且即使没有配置PATH环境变量,在终端的任意路径下也可以运行javac -version和java -version,这样就意味着在终端的任意路径下使用javac和java

这样是不是意味着不用配置Java8的JAVA_HOME和PATH环境变量呢?
其实不然,因为后期我们会使用多个不同版本的Java,例如在开发Java项目时使用的Java8,而学习Java语言时为了使用高版本的新特性可能会使用Java11甚至Java17,这里就会有在终端上切换Java版本的需求,因此我们依然要配置Java8的JAVA_HOME和PATH环境变量

5.2 基于ARM 64-bit macOS版Java8配置JAVA_HOME环境变量

JAVA_HOME其实指的就是Java的家目录,默认情况下Java8家目录的路径是/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home

配置JAVA_HOME环境变量的目的就是为了给Java8的PATH环境变量使用的

  1. 启动终端
    Mac内置终端程序,你可以在启动台的其他中找到它

跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第24张图片

不过我使用的是第三方终端iTerm,需要自己手动安装,可以使用Command+空格打开聚焦搜索,然后搜索iTerm回车后打开
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第25张图片

跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第26张图片

  1. 查看系统所使用的Shell类型
    不同类型的Shell所使用的配置文件不同,例如zsh使用的.zshrc,而bash使用的.bash_profile
    使用echo $SHELL 命令可以查看当前使用的Shell类型,这里默认使用的是zsh
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第27张图片

    如果想要使用bash,那么可以使用chsh -s /bin/bash命令切换到bash,不过切换以后需要重新开启新的窗口,然后使用echo $SHELL查看Shell类型

  2. 创建配置文件
    如果你是使用的bash ,那么在用户的家目录下使用touch .bash_profile 创建.bash_profile文件
    如果你是使用的zsh,那么在用户的家目录下使用touch .zshrc创建.zshrc文件
    Mac的家目录就是/Users/liuguanglei,其中liuguanglei表示用户名,每个系统的用户名可能不相同。打开终端以后默认的路径就是在家目录下

我这里使用默认的shell是zsh,因此创建.zshrc文件
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第28张图片

文件创建成功后可以使用 ls -al查看文件
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第29张图片

  1. 在配置文件中添加Java8的JAVA_HOME环境变量

首先使用vim .zshrc 打开文件,
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第30张图片

此时处于命令模式,无法添加内容
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第31张图片

需要按i键进入编辑模式
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第32张图片

然后添加如下配置

#配置Java8的JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home

添加完成以后按esc退出编辑模式
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第33张图片
退出了编辑模式
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第34张图片

然后按:wq 保存并退vim编辑器
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第35张图片

  1. 重新加载配置文件
    在终端上输入source .zshrc让添加的配置生效
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第36张图片

  2. 验证配置
    在终端上输入echo $JAVA_HOME 命令看能否输出Java8家目录的路径/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第37张图片

5.3 基于ARM 64-bit macOS版Java8配置PATH环境变量

5.3.1 PATH环境变量的介绍

PATH环境变量的本质就是一系列的路径,例如/bin,/usr/bin,/usr/local/bin,多个路径之间使用冒号(:)隔开,Mac下可以在终端上使用echo $PATH命令查看当前系统的PATH环境变量
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第38张图片

PATH环境变量的作用就是在终端上执行命令时,系统会从PATH环境变量的路径查找命令对应的可执行程序,然后执行该程序
例如date 可以查看系统日期,而 where date 可以查看到date命令的路径,正因为/bin在PATH环境变量中,因此在终端输入date实际是运行的是/bin目录下的date程序

如果输入一个不存在的命令,那么系统会提示command not found
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第39张图片

5.3.2 基于ARM 64-bit macOS版Java8配置PATH环境变量

  1. 启动终端
    Mac内置终端程序,你可以在启动台的其他中找到它

跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第40张图片

不过我使用的是第三方终端iTerm,需要自己手动安装,可以使用Command+空格打开聚焦搜索,然后搜索iTerm回车后打开
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第41张图片

跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第42张图片

  1. 打开配置文件
    之前在配置JAVA_HOME环境变量创建过.zshrc文件,因此使用vim .zshrc命令打开即可
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第43张图片

打开文件后可以查看到Java8的JAVA_HOME环境变量配置
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第44张图片

  1. 编辑配置文件
    vim打开文件后只能查看文件内容而不能编辑,因此按i键进入编辑模式
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第45张图片

然后在文件末尾添加如下内容

#配置Java8的PATH环境变量
export PATH=$PATH:$JAVA_HOME/bin

跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第46张图片

  1. 保存配置并退出vim编辑器
    文件编辑完成后按esc退出编辑模式
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第47张图片
    退出了编辑模式后
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第48张图片

然后按:wq保存并退出vim编辑器
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第49张图片

  1. 重新加载配置文件
    在终端上输入source .zshrc让添加的配置生效
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第50张图片

  2. 验证配置
    在终端上输入echo $PATH命令查看系统PATH环境变量,确认是否已经添加Java8的PATH环境变量
    跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第51张图片

6. 基于ARM 64-bit macOS版Java8卸载

未来的某个时间可能你不再需要使用Java8时,就可以将其卸载,卸载Java8时需要删除Java8的安装目录和配置文件(例如.zshrc)

/Library/Java/JavaVirtualMachines/zulu-8.jdk # Java8的安装目录

删除Java8的安装目录时需要使用sudo rm -rf 命令来完成,首次执行sudo rm -rf前需要输入用户的开机密码

sudo rm -rf /Library/Java/JavaVirtualMachines/zulu-8.jdk

跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第52张图片

然后删除配置文件,例如.zshrc,此时使用rm .zshrc命令删除即可
跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)_第53张图片

删除.zshrc文件后重新开个终端窗口来验证JAVA_HOME和PATH环境变量是否已经删除

最后在终端上输入javac -version 和java -version,如果提示The operation couldn’t be completed. Unable to locate a Java Runtime. 表示删除成功

你可能感兴趣的:(#,macos,java,开发语言)