首页 > 编程语言 >跟光磊学Java-macOS版Java17开发环境搭建

跟光磊学Java-macOS版Java17开发环境搭建

时间:2022-12-29 07:55:16浏览次数:66  
标签:macOS JAVA Java17 Java HOME PATH 环境变量

Java语言核心技术

 

 

 

 

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

1. 基于ARM 64-bit macOS版Java17 下载

  1. 访问Oracle官网,其访问地址是https://www.oracle.com/java/
    Java官网

  2. 点击右上角的Download Java跳转Java的下载页面
    Downlaod Java
    Java的下载地址 https://www.oracle.com/java/technologies/downloads/
    Java的下载页面
    目前Oracle官方提供的最新Java版本\JDK版本是Java19和Java17,但是最新的LTS版本是Java17
    这次我们要下载的是Java17,因此点击下载页面的Java17切换到Java17
    切换到Java17
    目前Java17支持三个操作系统

  • Linux
  • macOS
  • Windows
    3. 选择macOS版Arm 64 DMG Installer Java17
    大家在下载Java17的时候需要根据自己所使用操作系统的版本以及CPU选择对应的版本
    Java11以后同时支持Mac电脑的Intel CPU和Apple 芯片

 

选择macOS版Arm 64 DMG Installer
选择macOS版Arm 64 DMG Installer

 

  • x64 DMG Installer 表示Intel x86 64位安装程序,如果你的Mac电脑是Intel CPU那么选择这个版本
  • Arm 64 DMG Installer 表示ARM 64位安装程序,如果你的Mac电脑是Apple芯片(例如M1,M1 Pro,M1 Max,M1 Ultra,M2等等)那么选择这个版本

点击左上角的苹果菜单,然后点击关于本机,可以查看当前Mac电脑的硬键配置信息
由于我的Mac电脑是M1 Max芯片,因此选择x64 DMG Installer
关于本机

  1. 下载macOS版Arm 64 DMG Installer Java17

点击Java17下载链接后
点击链接下载Java17

浏览器自动开始下载Java17
浏览器自动开始下载Java17
和Java8相比下载时不需要同意许可协议,也不需要注册和登录Oracle账号

  1. 下载成功
    当Java17下载成功以后,会在访达的下载目录下看到jdk-17_macos-aarch64_bin.dmg,其中aarch64表示ARM架构64-bit
    下载成功

2. 基于ARM 64-bit macOS版Java17 安装

  1. 双击下载目录的jdk-17_macos-aarch64_bin.dmg
    双击下载目录的jdk-17_macos-aarch64_bin.dmg

  2. 双击 JDK 17.0.5.pkg
    双击 JDK 17.0.5.pkg

  3. 点击继续
    点击继续

  4. 点击安装
    点击安装

点击安装后安装器会提示 安装器正在尝试新软件,使用触控ID或输入密码以允许此次操作
为了方便这里建议使用触控ID即可
安装器

5.安装中
安装过程大概就2-5秒钟左右
安装中

  1. 安装完成
    安装完成
  • 点击Java SE文档 访问Java17的官方文档 https://docs.oracle.com/en/java/javase/17/index.html
    Java17的官方文档

  • 点击关闭完成Java17的安装,安装器会提示 你要将JDK 17.0.5 安装器移到废纸篓吗? 建议保留,因为未来可能因为某个原因会重装
    保留

  1. 推出桌面的JDK 17.0.5
    选中桌面的JDK 17.0.5,然后右键选择推出 JDK 17.0.5。当然也可以使用快捷键Command+E推出
    右键推出

3. 基于ARM 64-bit macOS版Java17 配置

3.1 基于ARM 64-bit macOS版Java17 配置说明

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

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

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

不过和Windows上Java17的配置方式不同,macOS版Java17的配置方式需要通过在终端上执行一些命令进行,如果你熟悉Linux命令那么上手会比较容易。

3.2 基于ARM 64-bit macOS版Java17 配置JAVA_HOME环境变量

JAVA_HOME其实指的就是Java的家目录,默认情况下Java17的家目录对应的路径是 /Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Contents/Home
JAVA_HOME

配置JAVA_HOME环境变量的目的就是为了给Java17的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. 在配置文件中添加Java17的JAVA_HOME环境变量

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

# 配置Java17的JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Contents/Home

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

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

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

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

  2. 验证配置
    在终端上输入echo $JAVA_HOME 命令看能否输出Java17的JAVA_HOME对应的路径
    验证配置

3.3 基于ARM 64-bit macOS版Java17 配置PATH环境变量

3.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

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

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

 

内置的终端
内置的终端

 

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

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

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

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

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

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

 

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

 

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

退出了编辑模式以后
退出了编辑模式

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

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

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

4. 基于ARM 64-bit macOS版Java17 卸载

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

/Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk # Java17的安装目录

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

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk

 

删除Java17的安装目录
删除Java17的安装目录

 

然后删除配置文件,例如.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. 表示卸载成功
验证是否删除成功

5. Java8和Java17的切换

目前在Mac电脑上已经安装了Java8和Java17
Java8和Java17

而且在配置文件.zshrc中已经配置过Java17的JAVA_HOME环境变量和PATH环境变量
查看配置文件

也在终端上验证过Java17的环境
验证Java17环境

需求:假设目前项目部署要求使用Java8,如何从Java17切换到Java8?

实现方式其实很简单,只需要将.zshrc文件中的JAVA_HOME改成Java8的家目录即可,修改的过程和之前配置JAVA_HOME环境变量类似
Java17切换到Java8的配置

#如果要切换到Java17,那么启用这个配置
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Contents/Hom
#如果要切换到Java8,那么启用这个配置
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
#配置Java17的PATH环境变量
export PATH=$PATH:$JAVA_HOME/bin

修改完成以后需要重新开启新的终端窗口来验证Java8的环境
验证Java8的环境

如果想要切回Java17怎么做呢?同样的只需要将.zshrc文件中的JAVA_HOME改成Java17的家目录即可。
Java8切换到Java17的配置

#如果要切换到Java17,那么启用这个配置
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Contents/Hom
#如果要切换到Java8,那么启用这个配置
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
#配置Java17的PATH环境变量
export PATH=$PATH:$JAVA_HOME/bin

修改完成以后需要重新开启新的终端窗口来验证Java17的环境
验证Java17的环境

标签:macOS,JAVA,Java17,Java,HOME,PATH,环境变量
From: https://www.cnblogs.com/ittimeline/p/17011642.html

相关文章

  • Java方法引用
    体验方法引用通过方法引用,来使用已经存在的方案。定义一个接口,里面有一个抽象方法:publicinterfacePrintable{voidprintString(Strings);}定义一个测......
  • JavaScript
    概念:  *运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎  *脚本语言:不需要编译,直接就可以被浏览器解析执行了功能:  *可以来增强用户和html页面的......
  • Java中的List数组详解
    1.什么是数组?在Java中,数组List是一种常用的数据结构,它可以存储一组有序的元素,并提供了许多方法来操作这些元素。数组List是Java中内置的一种容器类型,它可以存储任何类型的......
  • Java基础--类与对象
    类:是描述对象的行为和基本属性,是一个模板。对象:是具体的事物,是类的具体实例方法:是记录行为的一个程序创建类的实例对象类名对象名=new类名()  public voidte......
  • XML语言的基本语法-Java Web
    (目录)一、说明XML(eXtendedMarkupLanguage,可扩展的标记性语言)被设计用来定义结构、传输和存储数据,不用于表现和展示数据,目的是数据的内容HTML中的元素都是固定的,以显......
  • Java 树形结构组装
    1.数据结构[{"hoscode":"453267","depcode":"200050923","depname":"门诊部核酸检测门诊(东院)","intro":"门诊部核酸检测门诊(东院)","bigcode":"44f162029abb45f9ff......
  • 如何提高java反射效率
    1、在系统启动阶段使用反射。2、将反射得到元数据保存起来,使用时,只需从内存中调用即可。3、hotspot虚拟机会对执行次数较多的方法进行优化(例如使用jit技术)。4、使用高性能......
  • 90%的Java开发人员都会犯的5个错误
    前言作为一名java开发程序员,不知道大家有没有遇到过一些匪夷所思的bug。这些错误通常需要您几个小时才能解决。当你找到它们的时候,你可能会默默地骂自己是个傻瓜。是的,这......
  • java开源工作流的特点介绍
    我们都知道,在业务量激增的情况下,采用工作效率高的低代码开发平台已然成为趋势。目前,有不少专业的服务商正在积极研发低代码开发平台,立志为客户朋友提升办公协作效率而提升......
  • json 和java对象 互相转换(java)
    ava解析json使用alibaba的fastJson添加依赖或者jarfastJson简单使用JSON>Java对象java对象>jsonpublicclassMyJson{publicstaticStringjson......