首页 > 编程语言 >跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)

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

时间:2022-12-27 17:12:16浏览次数:43  
标签:Rosetta macOS Java App Java8 使用 环境变量 PATH ARM

Java语言核心技术

 

 

日常办公和软件开发除了可以使用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架构
Apple

在macOS Montery 点击左上角的苹果菜单,然后选择关于本机
在弹出的概览窗口中看到处理器包含Intel,例如2.3 GHz 八核 Intel Core i9 就是属于Intel x86架构
intel

正是有这两种不同的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。点按“安装”,然后输入您的用户名和密码以允许继续安装。

 

什么时候需要Rosetta
什么时候需要Rosetta

 

如果您点按“以后”,则下次打开需要 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 上运行。例如金山文档、恒星播放器
金山文档
恒星播放器
应用程序(通用)表示 App 既支持 Apple 芯片也支持 Intel 处理器,并且在默认情况下使用 Apple 芯片。通用 App 不需要 Rosetta。
Safari
对于标有“应用程序(通用)”的 App,“简介”窗口包含“使用 Rosetta 打开”这项设置。通过这项设置,网页浏览器等通用 App 可以使用还没有更新为支持 Apple 芯片的插件、扩展或其他附加组件。如果某个通用 App 无法识别您为这个 App 安装的附加组件,您可以退出这个 App,选择这项设置,然后再试一次。
draw.io
应用程序(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
    Oracle Java8

azul官网
azul官网
2. 点击右上角的Download Now,跳转到下载页面
Download Now˛

然后在下载页面点击Zulu的Download Now
Zulu Download Now

跳转到Download Azul Zulu Builds of OpenJDK
Download Azul Zulu Builds of OpenJDK

  1. 选择Java8
    选择基于ARM 64-bit架构的macOS版Java8

4.点击.dmg开始下载
点击.dmg开始下载
浏览器会自动开始下载
浏览器自动开始下载

  1. 下载成功
    下载成功后会在访达的下载目录看到zulu8.66.0.15-ca-jdk8.0.352-macosx_aarch64.dmg
    zulu8.66.0.15-ca-jdk8.0.352-macosx_aarch64.dmg

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

  1. 双击zulu8.66.0.15-ca-jdk8.0.352-macosx_aarch64.dmg
    双击zulu8.66.0.15-ca-jdk8.0.352-macosx_aarch64.dmg

  2. 双击 Azul Zulu JDK 8.pkg
    双击双击 Azul Zulu JDK 8.pkg

3.点击继续
点击继续

  1. 点击安装
    点击安装

安装之前安装器会提示 使用触控ID或输入密码以运行此次操作
安装器提示

  1. 安装中
    安装中

  2. 安装成功
    安装成功

点击关闭按钮可以完成安装,然后会提示 你要将Azul Zulu JDK 8.66.0.15 安装器移除到废纸篓吗?这里建议保留,因为后期可能会因为某些原因重装
保留安装器

  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
查看maven版本
而且即使没有配置PATH环境变量,在终端的任意路径下也可以运行javac -version和java -version,这样就意味着在终端的任意路径下使用javac和java
在终端的任意路径使用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
Java8的家目录
配置JAVA_HOME环境变量的目的就是为了给Java8的PATH环境变量使用的

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

 

内置的终端
内置的终端

 

不过我使用的是第三方终端iTerm,需要自己手动安装,可以使用Command+空格打开聚焦搜索,然后搜索iTerm回车后打开
聚焦搜索
iTerm

  1. 查看系统所使用的Shell类型
    不同类型的Shell所使用的配置文件不同,例如zsh使用的.zshrc,而bash使用的.bash_profile
    使用echo $SHELL 命令可以查看当前使用的Shell类型,这里默认使用的是zsh
    查看Shell类型

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

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

我这里使用默认的shell是zsh,因此创建.zshrc文件
创建配置文件

文件创建成功后可以使用 ls -al查看文件
查看文件

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

首先使用vim .zshrc 打开文件,
打开文件
此时处于命令模式,无法添加内容
命令模式
需要按i键进入编辑模式
编辑模式

然后添加如下配置

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

添加完成以后按esc退出编辑模式

 

退出编辑模式
退出编辑模式

 

退出了编辑模式
退出了编辑模式

然后按:wq 保存并退vim编辑器
保存并退出vim编辑器

  1. 重新加载配置文件
    在终端上输入source .zshrc让添加的配置生效
    重新加载配置文件

  2. 验证配置
    在终端上输入echo $JAVA_HOME 命令看能否输出Java8家目录的路径/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
    验证配置

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

5.3.1 PATH环境变量的介绍

PATH环境变量的本质就是一系列的路径,例如/bin,/usr/bin,/usr/local/bin,多个路径之间使用冒号(:)隔开,Mac下可以在终端上使用echo $PATH命令查看当前系统的PATH环境变量
查看当前系统的PATH环境变量
PATH环境变量的作用就是在终端上执行命令时,系统会从PATH环境变量的路径查找命令对应的可执行程序,然后执行该程序
例如date 可以查看系统日期,而 where date 可以查看到date命令的路径,正因为/bin在PATH环境变量中,因此在终端输入date实际是运行的是/bin目录下的date程序
查看日期和date命令的路径
如果输入一个不存在的命令,那么系统会提示command not found
command not found

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

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

 

内置的终端
内置的终端

 

不过我使用的是第三方终端iTerm,需要自己手动安装,可以使用Command+空格打开聚焦搜索,然后搜索iTerm回车后打开
聚焦搜索
iTerm

  1. 打开配置文件
    之前在配置JAVA_HOME环境变量创建过.zshrc文件,因此使用vim .zshrc命令打开即可
    打开配置文件

打开文件后可以查看到Java8的JAVA_HOME环境变量配置
查看文件

  1. 编辑配置文件
    vim打开文件后只能查看文件内容而不能编辑,因此按i键进入编辑模式
    编辑模式

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

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

 

配置Java8的PATH环境变量
配置Java8的PATH环境变量

 

  1. 保存配置并退出vim编辑器
    文件编辑完成后按esc退出编辑模式
    退出编辑模式
    退出编辑模式后
    退出编辑模式

然后按:wq保存并退出vim编辑器
保存并退出vim编辑器

  1. 重新加载配置文件
    在终端上输入source .zshrc让添加的配置生效
    重新加载配置文件

  2. 验证配置
    在终端上输入echo $PATH命令查看系统PATH环境变量,确认是否已经添加Java8的PATH环境变量
    验证配置

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

 

删除Java8的安装目录
删除Java8的安装目录

 

然后删除配置文件,例如.zshrc,此时使用rm .zshrc命令删除即可
删除.zshrc文件

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

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

标签:Rosetta,macOS,Java,App,Java8,使用,环境变量,PATH,ARM
From: https://www.cnblogs.com/ittimeline/p/17008507.html

相关文章