導(dǎo)語(yǔ)
相信每一位開(kāi)發(fā)者對(duì) Maven 并不陌生槽畔,Maven 在我們構(gòu)建并管理項(xiàng)目中起著至關(guān)重要的作用暗挑,也正是 Maven 的出現(xiàn)讓我們更加專注業(yè)務(wù)邏輯開(kāi)發(fā)膛薛,而不必在環(huán)境構(gòu)建上花費(fèi)精力(雖然很重要)迷捧,相信大家曾經(jīng)與我一樣為處理依賴焦頭爛額轻掩,為構(gòu)建發(fā)布費(fèi)盡心思幸乒。相信每一位剛剛接觸 MacOs 的同學(xué)對(duì)于如何搭建 Maven 環(huán)境一臉懵X。本文將對(duì) Maven 的安裝及環(huán)境配置進(jìn)行詳細(xì)講解唇牧,至于如何使用 Maven 不是本文的重點(diǎn)罕扎。奈何英文水平有限,引用官方介紹一筆帶過(guò)..
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
雖不是祖?zhèn)鞔a丐重,依然可以得耍的飛起腔召,致與我一樣愿意起飛的朋友...
1. 官網(wǎng)下載 Maven
下載最新版本 Maven
打開(kāi) Apache Maven 官方網(wǎng)站,點(diǎn)擊左側(cè)導(dǎo)航菜單中的 Download 連接進(jìn)入下載頁(yè)面扮惦,如下圖所示:
Maven 下載示意圖
如上圖所示臀蛛,官方默認(rèn)給出的版本是 3.6.0,也是最新版本崖蜜;如沒(méi)有特殊版本需求浊仆,直接點(diǎn)擊 apache-maven-3.6.0-bin.tar.gz 下載即可。
如何下載歷史版本豫领?
某些情況下抡柿,團(tuán)隊(duì)協(xié)作需要或項(xiàng)目依賴指定 Maven 版本環(huán)境;如何下載歷史版本 Maven 呢等恐?其實(shí)官方已給出了下載連接洲劣;如下圖所示,可在 Previous Releases(早期版本)中點(diǎn)擊 Maven 歷史編譯版本(Maven Releases History) 連接查看相應(yīng)版本的 Maven 介紹鼠锈;當(dāng)然如果僅僅需要下載 Maven 壓縮包,直接點(diǎn)擊 archives 進(jìn)入下載頁(yè)面下載即可星著,一步到位购笆。
如下圖所示:
Maven 歷史版本下載
至于歷史版本下載步驟本文不再贅述,相信你可以做到虚循!
2. 配置環(huán)境變量
本文以 Maven 3.6.0 版本演示同欠,若您下載的版本不是 3.6.0 請(qǐng)注意執(zhí)行命令時(shí)修改版本號(hào),安裝過(guò)程中需要使用 shell 終端横缔,您可以使用 Mac 自帶的終端工具铺遂,也可以使用 iTerm2 進(jìn)行安裝,工具沒(méi)有好壞茎刚,試一試便知道哪一個(gè)更適合你襟锐!
本機(jī)環(huán)境如下:
操作系統(tǒng):MacOs 10.14.1
JDK 版本:jdk1.8.0_191
需安裝的 Maven 版本:3.6.0
以下是具體操作步驟:
- 將下載的包解壓并復(fù)制到/usr/local目錄下:
# 進(jìn)入 MacOs 下載目錄(默認(rèn))
cd ~/Downloads/
# 解壓 apache-maven-3.6.0-bin.tar.gz
tar zxvf ./apache-maven-3.6.0-bin.tar.gz
# 將解壓后的文件夾復(fù)制到 /usr/local 目錄
mv ./apache-maven-3.6.0 /usr/local/apache-maven-3.6.0
- 配置國(guó)內(nèi)鏡像(阿里云倉(cāng)庫(kù))
# 進(jìn)入 Maven 配置文件目錄
cd /usr/local/apache-maven-3.6.0/conf/
# 使用 vim 編輯 settings.xml 文件
vi settings.xml
在 <mirrors></mirrors>中間添加以下內(nèi)容:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
提示1:這里用到了 vim 命令,不知道的需要去補(bǔ)課咯膛锭。
提示2:為什么要配置國(guó)內(nèi)鏡像粮坞?
配置國(guó)內(nèi)鏡像是為了更快的從 maven 倉(cāng)庫(kù)中下載 jar 包蚊荣,否則就需要去 Maven 的國(guó)外中央倉(cāng)庫(kù)中去取,是繞地球一圈的浪漫還是一切都觸手可及莫杈,我想你知道該如何選擇互例!
- 配置用戶環(huán)境變量
在用戶“家”目錄創(chuàng)建 .bash_profile,如果文件已經(jīng)存在則編輯該文件
# 編輯 .bash_profile 文件
vi ~/.bash_profile
提示:
所謂“家”目錄筝闹,就是當(dāng)前用戶的主目錄媳叨,蘋果會(huì)為每一個(gè)用戶建立一個(gè)家目錄,用戶的個(gè)人信息也會(huì)被存儲(chǔ)在該目錄下关顷。你可以試試執(zhí)行 “cd ~” 和執(zhí)行 “cd /Users/你的用戶名” 會(huì)進(jìn)入相同的目錄糊秆,動(dòng)手試一試?
在 .bash_profile 中添加以下兩行代碼:
export M2_HOME=/usr/local/apache-maven-3.6.0
export PATH=$PATH:$M2_HOME/bin
使用戶環(huán)境變量配置立即生效:
source .bash_profile
測(cè)試 Maven 是否安裝成功:
mvn -v
如果配置無(wú)誤則會(huì)出現(xiàn)如下提示:
Mac-mini:~ pancras$ mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /usr/local/apache-maven-3.6.0
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.1", arch: "x86_64", family: "mac"
提示1:為什么要配置環(huán)境變量解寝?
大白話:Mac是一個(gè)多用戶多任務(wù)的操作系統(tǒng)扩然,不同用戶擁有不同的環(huán)境變量且相互隔離,所以需要給不同用戶單獨(dú)設(shè)置環(huán)境變量聋伦。在執(zhí)行 mvn夫偶,javac 等命令時(shí),實(shí)際上系統(tǒng)是在所有環(huán)境變量中尋找相關(guān)可執(zhí)行命令觉增,若存在則執(zhí)行該命令兵拢,若不存在則提示 command not found。你可以去 Maven 主目錄中的 bin 目錄下去看看是不是有個(gè) mvn 名字的可執(zhí)行文件逾礁,去動(dòng)手試試看说铃?
環(huán)境變量分為兩種:
- 系統(tǒng)環(huán)境變量:系統(tǒng)環(huán)境變量對(duì)系統(tǒng)中所有用戶都有效。
- 用戶環(huán)境變量:顧名思義嘹履,環(huán)境變量只對(duì)當(dāng)前用戶有效腻扇。
提示2:當(dāng)你還沒(méi)有配置環(huán)境變量的時(shí)候能否執(zhí)行 mvn 命令呢?
當(dāng)然是可以的砾嫉,你可以指定 mvn 的完整路徑去執(zhí)行命令幼苛,配置環(huán)境變量前執(zhí)行 “sh /usr/local/apache-maven-3.6.0/bin/mvn -v” 命令和配置環(huán)境變量后執(zhí)行 “mvn -v” 會(huì)得到相同的結(jié)果,動(dòng)手試一試焕刮?
所以上文環(huán)境變量配置小結(jié)中舶沿,您也可以直接配置到系統(tǒng)環(huán)境變量中額!
3. 結(jié)束語(yǔ)
OK,是不是很簡(jiǎn)單配并,認(rèn)真看下去其實(shí)過(guò)程并不復(fù)雜括荡,想學(xué)好開(kāi)發(fā)就得一步一步來(lái),一定要學(xué)會(huì)“仰望星空溉旋,腳踏實(shí)地”畸冲,不然一切都遙不可及。
愿與你一同成長(zhǎng)!