macOS中搭建Java8開發(fā)環(huán)境(基于Intel?x86?64-bit)
Java語言核心技術(shù)
日常辦公和軟件開發(fā)除了可以使用Windows系統(tǒng)以外,還可以使用macOS系統(tǒng),至于具體使用什么系統(tǒng)取決于你入職公司之后公司給你發(fā)的什么電腦,如果是MacBookPro那么就使用macOS開發(fā)項(xiàng)目,因此現(xiàn)在我們開始在macOS系統(tǒng)下搭建Java8的開發(fā)環(huán)境,如果你的Mac電腦使用的Intel CPU,那么按照如下方法下載、安裝和配置Java8的開發(fā)環(huán)境。
1. Mac平臺(tái)的CPU架構(gòu)
早期Mac電腦都是使用Intel 的CPU,在2020年以后蘋果公司在ARM架構(gòu)的基礎(chǔ)上自研CPU,例如M1,M1 Pro,M1 Ultra,M2等等,因此蘋果公司的Mac電腦有 Intel x86架構(gòu)和ARM 架構(gòu)兩種不同的CPU架構(gòu)
那么問題來了,我怎么知道我使用的Mac電腦CPU架構(gòu)呢?
在macOS Ventura 點(diǎn)擊左上角的蘋果菜單,然后選擇關(guān)于本機(jī)
在彈出的窗口中看到芯片是Apple開頭的 ,例如Apple M1 Pro,Apple M1 Max,Apple M1 Ultra,Apple M2,等等就是屬于ARM架構(gòu)
在macOS Montery 點(diǎn)擊左上角的蘋果菜單,然后選擇關(guān)于本機(jī)
在彈出的概覽窗口中看到處理器包含Intel,例如2.3 GHz 八核 Intel Core i9 就是屬于Intel x86架構(gòu)
正是有這兩種不同的CPU架構(gòu),直接導(dǎo)致基于Intel x86架構(gòu)開發(fā)的程序(例如金山文檔、恒星播放器、cleanmymac)是無法直接運(yùn)行在基于ARM架構(gòu)的CPU(例如M1,M1 Pro,M1 Max,M1 Ultra ,M2)上
2. Rosetta
2.1 什么時(shí)候需要Rosetta
蘋果公司提供了一個(gè)翻譯工具-Rosetta 2,通過 Rosetta 2,搭載 Apple 芯片的 Mac 可以使用專為配備 Intel 處理器的 Mac 構(gòu)建的 App,這樣也就意味著以前為Intel CPU開發(fā)的程序可以通過Rosetta 2 運(yùn)行在蘋果芯片的Mac電腦上,例如金山文檔、恒星播放器等等。
2.2 如何安裝Rosetta
Rosetta 2 僅適用于搭載 Apple 芯片的 Mac 電腦。
首次打開需要 Rosetta 的 App 時(shí),系統(tǒng)會(huì)要求您安裝 Rosetta。點(diǎn)按“安裝”,然后輸入您的用戶名和密碼以允許繼續(xù)安裝。
如果您點(diǎn)按“以后”,則下次打開需要 Rosetta 的 App 時(shí),系統(tǒng)會(huì)再次要求您安裝 Rosetta。
如果 Rosetta 已經(jīng)安裝,則系統(tǒng)不會(huì)再次要求您安裝,也就是僅僅需要安裝一次。
2.3 如何使用 Rosetta
您不需要打開 Rosetta 或與這個(gè) App 互動(dòng)。每當(dāng)您使用專為搭載 Intel 處理器的 Mac 電腦構(gòu)建的 App 時(shí),Rosetta 都會(huì)在后臺(tái)自動(dòng)運(yùn)行。Rosetta 會(huì)轉(zhuǎn)換相應(yīng) App,使它可以與 Apple 芯片搭配使用。
對(duì)于需要 Rosetta 的 App,在大多數(shù)情況下,您不會(huì)察覺它的性能有任何不同。不過,您應(yīng)該聯(lián)系 App 開發(fā)者,以詢問相應(yīng) App 有沒有一個(gè)版本能夠以原生方式來充分利用 Apple 芯片的功能和性能。
2.4 哪些 App 需要 Rosetta?
要識(shí)別需要 Rosetta 或者可以使用 Rosetta 的 App,請(qǐng)按照以下步驟操作:
在“訪達(dá)”中選擇一個(gè) App。從菜單欄的“文件”菜單中,選取“顯示簡(jiǎn)介”。
查看標(biāo)有“種類”字樣的信息:
應(yīng)用程序 (Intel) 表示 App 僅支持 Intel 處理器,并且需要 Rosetta 才能在搭載 Apple 芯片的 Mac 上運(yùn)行。例如金山文檔、恒星播放器
應(yīng)用程序(通用)表示 App 既支持 Apple 芯片也支持 Intel 處理器,并且在默認(rèn)情況下使用 Apple 芯片。通用 App 不需要 Rosetta。
對(duì)于標(biāo)有“應(yīng)用程序(通用)”的 App,“簡(jiǎn)介”窗口包含“使用 Rosetta 打開”這項(xiàng)設(shè)置。通過這項(xiàng)設(shè)置,網(wǎng)頁(yè)瀏覽器等通用 App 可以使用還沒有更新為支持 Apple 芯片的插件、擴(kuò)展或其他附加組件。如果某個(gè)通用 App 無法識(shí)別您為這個(gè) App 安裝的附加組件,您可以退出這個(gè) App,選擇這項(xiàng)設(shè)置,然后再試一次。
應(yīng)用程序(Apple芯片) 表示App是專門針對(duì)Apple芯片開發(fā)的,例如例如M1,M1 Pro,M1 Max,M1 Ultra ,M2)等等
3. 基于Intel x86 64-bit macOS版Java8下載
訪問Java官網(wǎng)
其訪問地址是https://www.oracle.com/java/
點(diǎn)擊右上角的Download Java,跳轉(zhuǎn)到Java的下載頁(yè)面
Java的下載地址 https://www.oracle.com/java/technologies/downloads/
目前Oracle官方提供的最新Java版本\JDK版本是Java19和Java17,但是最新的LTS版本是Java17
這次我們要下載的是Java8,所以往下滾動(dòng)鼠標(biāo)到Java8的下載
目前Java8支持4個(gè)操作系統(tǒng)
Linux macOS Solaris Windows
選擇macOS版x64 DMG Installer
x64 DMG Installer 表示Intel x86 64位安裝程序,如果你的Mac電腦使用的Intel CPU 那么就下載這個(gè)
4.下載jdk-8u351-macosx-x64.dmg
首先點(diǎn)擊jdk-8u351-macosx-x64.dmg,然后勾選同意許可協(xié)議,最后點(diǎn)擊Download jdk-8u351-macosx-x64.dmg
注冊(cè)\登錄Oracle賬戶
如果沒有Oracle賬賬戶,大家可以在注冊(cè)頁(yè)面 https://profile.oracle.com/myprofile/account/create-account.jspx 填寫相應(yīng)的信息注冊(cè)賬戶
賬戶創(chuàng)建成功以后,在登錄頁(yè)面填寫賬戶信息登錄Oracle賬戶
登錄成功之后瀏覽器會(huì)自動(dòng)開始下載
下載成功
然后在訪達(dá)的下載目錄就可以看到j(luò)dk-8u351-macosx-x64.dmg文件
4. 基于Intel x86 64-bit macOS版Java8安裝
雙擊jdk-8u351-macosx-x64.dmg文件
雙擊JDK 8 Update 351.pkg
點(diǎn)擊繼續(xù)
點(diǎn)擊安裝
安裝之前安裝器會(huì)提示 使用觸控ID或輸入密碼以運(yùn)行此次操作
安裝中
安裝成功
點(diǎn)擊后續(xù)步驟跳轉(zhuǎn)到Java8的官方文檔 https://docs.oracle.com/javase/8/
點(diǎn)擊關(guān)閉 完成安裝
然后會(huì)提示 你要將JDK 8 Update 351 安裝器移動(dòng)到廢紙簍嗎?
這里建議保留,因?yàn)楹笃诳赡軙?huì)因?yàn)槟承┰蛐枰匦掳惭b
推出桌面的JDK 8 Update 351
選中JDK 8 Update 351 ,然后右鍵推出即可,當(dāng)然也可以使用快捷鍵Command+E推出
5. 基于Intel x86 64-bit macOS版Java8配置
5.1 基于Intel x86 64-bit macOS版Java8配置說明
當(dāng)基于Intel x86架構(gòu) macOS版Java8安裝完成以后,你會(huì)發(fā)現(xiàn)即使沒有配置JAVA_HOME環(huán)境變量,在終端上運(yùn)行mvn --version時(shí)也不會(huì)像Windows那樣提示需要配置JAVA_HOME
而且即使沒有配置PATH環(huán)境變量,在終端的任意路徑下也可以運(yùn)行javac -version和java -version,意味著可以在終端的任意路徑使用javac和java
這樣是不是就意味著不用配置Java8的JAVA_HOME和PATH環(huán)境變量呢?
其實(shí)不然,因?yàn)楹笃谖覀儠?huì)使用多個(gè)不同版本的Java,例如在開發(fā)Java項(xiàng)目時(shí)使用的Java8,而學(xué)習(xí)Java語言時(shí)為了使用高版本的新特性可能會(huì)使用Java11甚至Java17,這里就會(huì)有在終端上切換Java版本的需求。因此我們依然要配置Java8的JAVA_HOME和PATH環(huán)境變量
不過和Windows上Java8的配置方式不同,macOS版Java8的配置方式需要通過在終端上執(zhí)行一些命令進(jìn)行,如果你熟悉Linux命令那么上手會(huì)比較容易。
5.2 基于Intel x86 64-bit macOS版Java8配置JAVA_HOME環(huán)境變量
JAVA_HOME其實(shí)指的就是Java的家目錄,默認(rèn)情況下Java8家目錄的路徑是/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home
配置JAVA_HOME環(huán)境變量的目的就是為了給Java8的PATH環(huán)境變量使用的
啟動(dòng)終端
Mac內(nèi)置終端程序,你可以在啟動(dòng)臺(tái)的其他中找到它
不過我使用的是第三方終端iTerm,需要自己手動(dòng)安裝,可以使用Command+空格打開聚焦搜索,然后搜索iTerm回車后打開
查看系統(tǒng)所使用的Shell類型
不同類型的Shell所使用的配置文件不同,例如zsh使用的.zshrc,而bash使用的.bash_profile
使用echo $SHELL 命令可以查看當(dāng)前使用的Shell類型,這里默認(rèn)使用的是zsh
如果想要使用bash,那么可以使用chsh -s /bin/bash命令切換到bash,不過切換以后需要重新開啟新的窗口,然后使用echo $SHELL查看Shell類型
創(chuàng)建配置文件
如果你是使用的bash ,那么在用戶的家目錄下使用touch .bash_profile 創(chuàng)建.bash_profile文件
如果你是使用的zsh,那么在用戶的家目錄下使用touch .zshrc創(chuàng)建.zshrc文件
Mac的家目錄就是/Users/liuguanglei,其中l(wèi)iuguanglei表示用戶名,每個(gè)系統(tǒng)的用戶名可能不相同。打開終端以后默認(rèn)的路徑就是在家目錄下
我這里使用默認(rèn)的shell是zsh,因此創(chuàng)建.zshrc文件
文件創(chuàng)建成功后可以使用 ls -al查看文件
在配置文件中添加Java8的JAVA_HOME環(huán)境變量
首先使用vim .zshrc 打開文件
此時(shí)處于命令模式,無法添加內(nèi)容
需要按i鍵進(jìn)入編輯模式
然后添加如下配置
# 配置Java8的JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home
配置完成以后按esc退出編輯模式
退出了編輯模式后
然后按:wq 保存并退vim編輯器
重新加載配置文件
在終端上輸入source .zshrc讓添加的配置生效
驗(yàn)證配置
在終端上輸入echo $JAVA_HOME 命令看能否輸出Java8家目錄的路徑/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home
5.3 基于Intel x86 64-bit macOS版Java8配置PATH環(huán)境變量
5.3.1 PATH環(huán)境變量的介紹
PATH環(huán)境變量的本質(zhì)就是一系列的路徑,例如/bin,/usr/bin,/usr/local/bin,多個(gè)路徑之間使用冒號(hào)(:)隔開,Mac下可以在終端上使用echo $PATH命令查看當(dāng)前系統(tǒng)的PATH環(huán)境變量
PATH環(huán)境變量的作用就是在終端上執(zhí)行命令時(shí),系統(tǒng)會(huì)從PATH環(huán)境變量的路徑查找命令對(duì)應(yīng)的可執(zhí)行程序,然后執(zhí)行該程序
例如date 可以查看系統(tǒng)日期,而 where date 可以查看到date命令的路徑,正因?yàn)?bin在PATH環(huán)境變量中,因此在終端輸入date實(shí)際是運(yùn)行的是/bin目錄下的date程序
如果輸入一個(gè)不存在的命令,那么系統(tǒng)會(huì)提示command not found
5.3.2 基于Intel x86 64-bit macOS版Java8配置PATH環(huán)境變量
啟動(dòng)終端
Mac內(nèi)置終端程序,你可以在啟動(dòng)臺(tái)的其他中找到它
不過我使用的是第三方終端iTerm,需要自己手動(dòng)安裝,可以使用Command+空格打開聚焦搜索,然后搜索iTerm回車后打開
打開配置文件
之前在配置JAVA_HOME環(huán)境變量創(chuàng)建過.zshrc文件,因此使用vim .zshrc命令打開即可
打開文件后可以查看到Java8的JAVA_HOME環(huán)境變量配置
編輯配置文件
vim打開文件后只能查看文件內(nèi)容而不能編輯,因此按i鍵進(jìn)入編輯模式
然后在文件末尾添加如下內(nèi)容
# 配置Java8的JAVA_HOME export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home
保存配置并退出vim編輯器
文件編輯完成后按esc退出編輯模式
然后按:wq保存并退出vim編輯器
重新加載配置文件
在終端上輸入source .zshrc讓添加的配置生效
驗(yàn)證配置
在終端上輸入echo $PATH命令查看系統(tǒng)PATH環(huán)境變量,確認(rèn)是否已經(jīng)添加Java8的PATH環(huán)境變量
6. 基于Intel x86 64-bit macOS版Java8卸載
未來的某個(gè)時(shí)間可能你不再需要使用Java8時(shí),就可以將其卸載,卸載Java8時(shí)需要?jiǎng)h除三個(gè)目錄和配置文件(例如.zshrc)
/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk # Java8的安裝目錄 /Library/Application\ Support/Oracle/Java/ /Library/PreferencePanes/JavaControlPanel.prefPane/ # Java8的控制面板
刪除三個(gè)目錄時(shí)需要使用sudo rm -rf 命令來完成,首次執(zhí)行sudo rm -rf前需要輸入用戶的開機(jī)密碼
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
然后刪除配置文件,例如.zshrc,此時(shí)使用rm .zshrc命令刪除即可
刪除.zshrc文件后重新開個(gè)終端窗口來驗(yàn)證JAVA_HOME和PATH環(huán)境變量是否已經(jīng)刪除
最后在終端上輸入javac -version 和java -version,如果提示The operation couldn’t be completed. Unable to locate a Java Runtime. 表示卸載成功
到此這篇關(guān)于macOS中搭建Java8開發(fā)環(huán)境(基于Intel x86 64-bit) 的文章就介紹到這了,更多相關(guān)macOS中搭建Java8開發(fā)環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot 利用WebUploader進(jìn)行文件上傳功能
本文的重點(diǎn)是給大家介紹在Spring Boot項(xiàng)目中利用WebUploader如何進(jìn)行文件上傳,本文通過示例代碼給大家介紹,需要的朋友參考下吧2018-03-03Java保留兩位小數(shù)的實(shí)現(xiàn)方法
這篇文章主要介紹了 Java保留兩位小數(shù)的實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-06-06Spring?Cloud灰度部署實(shí)現(xiàn)過程詳解
這篇文章主要為大家介紹了Spring?Cloud灰度部署實(shí)現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06一天時(shí)間用Java寫了個(gè)飛機(jī)大戰(zhàn)游戲,朋友直呼高手
前兩天我發(fā)現(xiàn)論壇有兩篇飛機(jī)大戰(zhàn)的文章異?;鸨?但都是python寫的,竟然不是我大Java,說實(shí)話作為老java選手,我心里是有那么一些失落的,今天特地整理了這篇文章,需要的朋友可以參考下2021-05-05java環(huán)境變量path和classpath的配置
這篇文章主要為大家詳細(xì)介紹了java系統(tǒng)環(huán)境變量path和classpath的配置過程,感興趣的小伙伴們可以參考一下2016-07-07RocketMQ producer同步發(fā)送單向發(fā)送源碼解析
這篇文章主要為大家介紹了RocketMQ producer同步發(fā)送單向發(fā)送源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03IntelliJ IDEA中程序包org.slf4j找不到的解決
這篇文章主要介紹了IntelliJ IDEA中程序包org.slf4j找不到的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Linux環(huán)境下的Java(JDBC)連接openGauss數(shù)據(jù)庫(kù)實(shí)踐記錄
這篇文章主要介紹了Linux環(huán)境下的Java(JDBC)連接openGauss數(shù)據(jù)庫(kù)實(shí)踐記錄,需要的朋友可以參考下2022-11-11Spring IoC學(xué)習(xí)之ApplicationContext中refresh過程詳解
這篇文章主要給大家介紹了關(guān)于Spring IoC學(xué)習(xí)之ApplicationContext中refresh過程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09