您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > JAVA

macOS版Java8开发环境搭建(基于Intel x86 64-bit)

时间:2022-12-23 15:54:19  来源:今日头条  作者:ittirneline


 

 

日常办公和软件开发除了可以使用windows系统以外,还可以使用macOS系统,至于具体使用什么系统取决于你入职公司之后公司给你发的什么电脑,如果是MacBookPro那么就使用macOS开发项目,因此现在我们开始在macOS系统下搭建JAVA8的开发环境,如果你的Mac电脑使用的Intel CPU,那么按照如下方法下载、安装和配置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架构


 

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


 

正是有这两种不同的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 的 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。


 


对于标有“应用程序(通用)”的 App,“简介”窗口包含“使用 Rosetta 打开”这项设置。通过这项设置,网页浏览器等通用 App 可以使用还没有更新为支持 Apple 芯片的插件、扩展或其他附加组件。如果某个通用 App 无法识别您为这个 App 安装的附加组件,您可以退出这个 App,选择这项设置,然后再试一次。


 


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

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

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

 


 

2.点击右上角的Download Java,跳转到Java的下载页面
Java的下载地址 https://www.oracle.com/java/technologies/downloads/


 


目前Oracle官方提供的最新Java版本JDK版本是Java19和Java17,但是最新的LTS版本是Java17
这次我们要下载的是Java8,所以往下滚动鼠标到Java8的下载


 


目前Java8支持4个操作系统

 

  • linux
  • macOS
  • Solaris
  • Windows

 

Java8支持四个操作系统

3.选择macOS版x64 DMG Installer


 


x64 DMG Installer 表示Intel x86 64位安装程序,如果你的Mac电脑使用的Intel CPU 那么就下载这个

4.下载jdk-8u351-macosx-x64.dmg
首先点击jdk-8u351-macosx-x64.dmg,然后勾选同意许可协议,最后点击Download jdk-8u351-macosx-x64.dmg


 

5.注册登录Oracle账户
如果没有Oracle账账户,大家可以在注册页面 https://profile.oracle.com/myprofile/account/create-account.jspx 填写相应的信息注册账户


 


账户创建成功以后,在登录页面填写账户信息登录Oracle账户


 


登录成功之后浏览器会自动开始下载


 

6.下载成功
然后在访达的下载目录就可以看到jdk-8u351-macosx-x64.dmg文件


 

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

  1. 双击jdk-8u351-macosx-x64.dmg文件

 


 

2.双击JDK 8 Update 351.pkg


 

3.点击继续


 

4.点击安装


 

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


 

5.安装中

安装中


 

6.安装成功
点击后续步骤跳转到Java8的官方文档 https://docs.oracle.com/javase/8/


 

点击关闭 完成安装


 


然后会提示 你要将JDK 8 Update 351 安装器移动到废纸篓吗?


 


这里建议保留,因为后期可能会因为某些原因需要重新安装

7.推出桌面的JDK 8 Update 351


 


选中JDK 8 Update 351 ,然后右键推出即可,当然也可以使用快捷键Command+E推出

5. 基于Intel x86 64-bit macOS版Java8配置 5.1 基于Intel x86 64-bit macOS版Java8配置说明

当基于Intel x86架构 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环境变量

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

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

JAVA_HOME其实指的就是Java的安装目录,默认情况下Java8的安装目录是/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home


 

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

 

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

 


 

内置的终端

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


 


 

2.查看系统所使用的Shell类型

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


 

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


 

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

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


 

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


 

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

首先使用vim .zshrc 打开文件


 


此时处于命令模式,无法添加内容


 


需要按i键进入编辑模式


 


然后添加如下配置

# 配置Java的安装路径 export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home # 设置默认JAVA_HOME export JAVA_HOME=$JAVA_8_HOME # 配置alias命令通过别名动态切换JDK版本 在终端执行java8等价于执行export JAVA_HOME=$JAVA_8_HOME alias java8="export JAVA_HOME=$JAVA_8_HOME"

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


 

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


 

5.重新加载配置文件


 


在终端上输入source .zshrc让添加的配置生效

6.验证配置


 


在终端上输入echo $JAVA_HOME 命令看能否输出Java8的安装路径

5.3 基于Intel x86 64-bit macOS版Java8配置PATH环境变量 5.3.1 PATH环境变量的介绍

PATH环境变量的本质就是一系列的路径,例如/bin,/usr/bin,/usr/local/bin,多个路径之间使用冒号(:)隔开,Mac下可以在终端上使用echo $PATH命令查看当前系统的PATH环境变量


 


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


 


如果输入一个不存在的命令,那么系统会提示command not found


 

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

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

 

内置的终端

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


 


 

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

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


 

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


 

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

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


 


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


 

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


 

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


 

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


 

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

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

/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk # Java8的安装目录 /Library/Application Support/Oracle/Java/ /Library/PreferencePanes/JavaControlPanel.prefPane/ # Java8的控制面板

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

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk sudo rm -rf /Library/Application Support/Oracle/Java sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane

删除java8的三个目录

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


 

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


 

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



Tags:Java   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
JavaScript的异步编程常见模式
在JavaScript中,异步编程是一种处理长时间运行操作(如网络请求或I/O操作)的常见方式。它允许程序在等待这些操作完成时继续执行其他任务,从而提高应用程序的响应性和性能。JavaS...【详细内容】
2024-04-12  Search: Java  点击:(2)  评论:(0)  加入收藏
17 个你需要知道的 JavaScript 优化技巧
你可能一直在使用JavaScript搞开发,但很多时候你可能对它提供的最新功能并不感冒,尽管这些功能在无需编写额外代码的情况下就可以解决你的问题。作为前端开发人员,我们必须了解...【详细内容】
2024-04-03  Search: Java  点击:(6)  评论:(0)  加入收藏
你不可不知的 15 个 JavaScript 小贴士
在掌握如何编写JavaScript代码之后,那么就进阶到实践——如何真正地解决问题。我们需要更改JS代码使其更简单、更易于阅读,因为这样的程序更易于团队成员之间紧密协...【详细内容】
2024-03-21  Search: Java  点击:(27)  评论:(0)  加入收藏
Oracle正式发布Java 22
Oracle 正式发布 Java 22,这是备受欢迎的编程语言和开发平台推出的全新版本。Java 22 (Oracle JDK 22) 在性能、稳定性和安全性方面进行了数千种改进,包括对Java 语言、其API...【详细内容】
2024-03-21  Search: Java  点击:(10)  评论:(0)  加入收藏
构建一个通用灵活的JavaScript插件系统?看完你也会!
在软件开发中,插件系统为应用程序提供了巨大的灵活性和可扩展性。它们允许开发者在不修改核心代码的情况下扩展和定制应用程序的功能。本文将详细介绍如何构建一个灵活的Java...【详细内容】
2024-03-20  Search: Java  点击:(20)  评论:(0)  加入收藏
Java 8 内存管理原理解析及内存故障排查实践
本文介绍Java8虚拟机的内存区域划分、内存垃圾回收工作原理解析、虚拟机内存分配配置,以及各垃圾收集器优缺点及场景应用、实践内存故障场景排查诊断,方便读者面临内存故障时...【详细内容】
2024-03-20  Search: Java  点击:(15)  评论:(0)  加入收藏
如何编写高性能的Java代码
作者 | 波哥审校 | 重楼在当今软件开发领域,编写高性能的Java代码是至关重要的。Java作为一种流行的编程语言,拥有强大的生态系统和丰富的工具链,但是要写出性能优异的Java代码...【详细内容】
2024-03-20  Search: Java  点击:(24)  评论:(0)  加入收藏
在Java应用程序中释放峰值性能:配置文件引导优化(PGO)概述
译者 | 李睿审校 | 重楼在Java开发领域,优化应用程序的性能是开发人员的持续追求。配置文件引导优化(Profile-Guided Optimization,PGO)是一种功能强大的技术,能够显著地提高Ja...【详细内容】
2024-03-18  Search: Java  点击:(27)  评论:(0)  加入收藏
对JavaScript代码压缩有什么好处?
对JavaScript代码进行压缩主要带来以下好处: 减小文件大小:通过移除代码中的空白符、换行符、注释,以及缩短变量名等方式,可以显著减小JavaScript文件的大小。这有助于减少网页...【详细内容】
2024-03-13  Search: Java  点击:(2)  评论:(0)  加入收藏
跨端轻量JavaScript引擎的实现与探索
一、JavaScript 1.JavaScript语言JavaScript是ECMAScript的实现,由ECMA 39(欧洲计算机制造商协会39号技术委员会)负责制定ECMAScript标准。ECMAScript发展史: 2.JavaScript...【详细内容】
2024-03-12  Search: Java  点击:(2)  评论:(0)  加入收藏
▌简易百科推荐
Java 8 内存管理原理解析及内存故障排查实践
本文介绍Java8虚拟机的内存区域划分、内存垃圾回收工作原理解析、虚拟机内存分配配置,以及各垃圾收集器优缺点及场景应用、实践内存故障场景排查诊断,方便读者面临内存故障时...【详细内容】
2024-03-20  vivo互联网技术    Tags:Java 8   点击:(15)  评论:(0)  加入收藏
如何编写高性能的Java代码
作者 | 波哥审校 | 重楼在当今软件开发领域,编写高性能的Java代码是至关重要的。Java作为一种流行的编程语言,拥有强大的生态系统和丰富的工具链,但是要写出性能优异的Java代码...【详细内容】
2024-03-20    51CTO  Tags:Java代码   点击:(24)  评论:(0)  加入收藏
在Java应用程序中释放峰值性能:配置文件引导优化(PGO)概述
译者 | 李睿审校 | 重楼在Java开发领域,优化应用程序的性能是开发人员的持续追求。配置文件引导优化(Profile-Guided Optimization,PGO)是一种功能强大的技术,能够显著地提高Ja...【详细内容】
2024-03-18    51CTO  Tags:Java   点击:(27)  评论:(0)  加入收藏
Java生产环境下性能监控与调优详解
堆是 JVM 内存中最大的一块内存空间,该内存被所有线程共享,几乎所有对象和数组都被分配到了堆内存中。堆被划分为新生代和老年代,新生代又被进一步划分为 Eden 和 Survivor 区,...【详细内容】
2024-02-04  大雷家吃饭    Tags:Java   点击:(57)  评论:(0)  加入收藏
在项目中如何避免和解决Java内存泄漏问题
在Java中,内存泄漏通常指的是程序中存在一些不再使用的对象或数据结构仍然保持对内存的引用,从而导致这些对象无法被垃圾回收器回收,最终导致内存占用不断增加,进而影响程序的性...【详细内容】
2024-02-01  编程技术汇  今日头条  Tags:Java   点击:(70)  评论:(0)  加入收藏
Java中的缓存技术及其使用场景
Java中的缓存技术是一种优化手段,用于提高应用程序的性能和响应速度。缓存技术通过将计算结果或者经常访问的数据存储在快速访问的存储介质中,以便下次需要时可以更快地获取。...【详细内容】
2024-01-30  编程技术汇    Tags:Java   点击:(73)  评论:(0)  加入收藏
JDK17 与 JDK11 特性差异浅谈
从 JDK11 到 JDK17 ,Java 的发展经历了一系列重要的里程碑。其中最重要的是 JDK17 的发布,这是一个长期支持(LTS)版本,它将获得长期的更新和支持,有助于保持程序的稳定性和可靠性...【详细内容】
2024-01-26  政采云技术  51CTO  Tags:JDK17   点击:(90)  评论:(0)  加入收藏
Java并发编程高阶技术
随着计算机硬件的发展,多核处理器的普及和内存容量的增加,利用多线程实现异步并发成为提升程序性能的重要途径。在Java中,多线程的使用能够更好地发挥硬件资源,提高程序的响应...【详细内容】
2024-01-19  大雷家吃饭    Tags:Java   点击:(107)  评论:(0)  加入收藏
这篇文章彻底让你了解Java与RPA
前段时间更新系统的时候,发现多了一个名为Power Automate的应用,打开了解后发现是一个自动化应用,根据其描述,可以自动执行所有日常任务,说的还是比较夸张,简单用了下,对于office、...【详细内容】
2024-01-17  Java技术指北  微信公众号  Tags:Java   点击:(99)  评论:(0)  加入收藏
Java 在 2023 年仍然流行的 25 个原因
译者 | 刘汪洋审校 | 重楼学习 Java 的过程中,我意识到在 90 年代末 OOP 正值鼎盛时期,Java 作为能够真正实现这些概念的语言显得尤为突出(尽管我此前学过 C++,但相比 Java 影响...【详细内容】
2024-01-10  刘汪洋  51CTO  Tags:Java   点击:(78)  评论:(0)  加入收藏
站内最新
站内热门
站内头条