說(shuō)說(shuō)如何安裝與配置 Maven

1 在 Windows 上安裝 Maven

1.1 檢查 JDK 是否已安裝

在安裝Maven之前谎柄,首先要確認(rèn)你已經(jīng)正確安裝了JDK虑瀑。Maven可以運(yùn)行在JDK 1.4及以上的版本上。诬像。打開(kāi) Windows 的命令行概龄,運(yùn)行如下命令來(lái)檢查 Java 的安裝情況盹愚。

檢查環(huán)境變量:

echo %JAVA_HOME%

java -version

1.2 下載 Maven

下載頁(yè)面 找到相應(yīng)版本的 Maven 包蟹腾。

Maven 下載頁(yè)面

xxx-src.zip 表示源代碼。区宇。這個(gè)下載頁(yè)面還提供了 md5 校驗(yàn)和(checksum)文件和 asc 數(shù)字簽名文件娃殖,可以用來(lái)檢驗(yàn) Maven 分發(fā)包的正確性和安全性。

1.3 本地安裝

在環(huán)境變量的系統(tǒng)變量中(用戶變量無(wú)效)配置 MAVEN_HOME 變量议谷,指向 Maven 的解壓目錄炉爆。

MAVEN_HOME 變量

然后加入到 path 環(huán)境變量中。

在命令行輸入 cmd 時(shí)卧晓,windows 首先會(huì)在當(dāng)前目錄中尋找可執(zhí)行文件或腳本芬首,如果沒(méi)找到,windows 會(huì)接著遍歷環(huán)境變量 Path 中定義的路徑禀崖。

配置好后衩辟,通過(guò)命令行來(lái)檢查 Maven 的安裝情況:

echo %MAVEN_HOME%

mvn -v

檢查 Maven 安裝情況

1.4 升級(jí) Maven

只需下載新的 Maven 安裝文件,解壓到本地波附,然后更新MAVEN_HOME環(huán)境變量即可艺晴。

2 在類 Unix 的系統(tǒng)上安裝 Maven

Maven 是跨平臺(tái)的,所以它可以在任何一種主流的操作系統(tǒng)上運(yùn)行掸屡,這里將介紹如何在類 Unix 的系統(tǒng)(包括 Linux封寞、Mac OS 以及 FreeBSD等)上安裝 Maven。

2.1 下載與安裝

首先仅财,與在 Windows 上安裝 Maven 一樣狈究,需要檢查 JAVA_HOME 環(huán)境變量:

echo $JAVA_HOME

java –version

檢查 java 版本

然后使用 wget 命令下載 Maven 安裝包:

wget -c http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz

接著解壓 Maven 安裝包:

tar -xvzf apache-maven-3.5.2-bin.tar.gz

為了方便以后升級(jí),我們?cè)诎惭b目錄中創(chuàng)建一個(gè)符號(hào)鏈接(鏈接到實(shí)際的的 Maven 目錄):

ln -s apache-maven-3.5.2 apache-maven

設(shè)置好環(huán)境變量:

export MAVEN_HOME=/root/soft/apache-maven
export PATH=$PATH:$MAVEN_HOME/bin

最后檢查 Maven 的安裝情況:

echo $MAVEN_HOME

mvn –version

檢查 Maven 的安裝情況

2.2 升級(jí) Maven

在基于 Unix 的系統(tǒng)中盏求,可以利用符號(hào)鏈接這一工具來(lái)簡(jiǎn)化 Maven 的升級(jí)抖锥。

前面我們提到過(guò),解壓 Maven 安裝包到本地之后碎罚,平行地創(chuàng)建一個(gè)符號(hào)鏈接磅废,然后在配置環(huán)境變量時(shí)引用該符號(hào)鏈接,這樣做就是為了方便升級(jí)荆烈。
首先刪除符號(hào)鏈接:
rm apache-maven
然后再新建一個(gè)新的符號(hào)鏈接就升級(jí)成功啦:
ln -s apache-maven-x.x apache-maven

3 分析 Maven 目錄

3.1 MAVEN_HOME

即 MAVEN 安裝目錄拯勉,它一般包含以下這些文件夾。

  • bin:Maven 運(yùn)行的腳本憔购,這些腳本用來(lái)配置 Java 命令宫峦,準(zhǔn)備好classpath 和相關(guān)的 Java 系統(tǒng)屬性,然后執(zhí)行 Java 命令玫鸟。
  • boot:包含一個(gè)類加載器框架(classworlds)导绷,相對(duì)于默認(rèn)的 java 類加載器,它提供更豐富的語(yǔ)法以方便配置屎飘。
  • conf:settings.xml 文件诵次,全局性地定制 Maven 的行為账蓉。
  • lib:包含所有 Maven 運(yùn)行時(shí)需要的 Java 類庫(kù),這里逾一,Maven 是分模塊開(kāi)發(fā)的铸本。

3.2 ~/.m2

~ 表示指定當(dāng)前用戶目錄,該文件夾下放置了Maven本地倉(cāng)庫(kù) .m2/repository遵堵。所有的 Maven 構(gòu)件都被存儲(chǔ)到了這個(gè)倉(cāng)庫(kù)箱玷,以方便重用。

mvn help:system

該命令會(huì)打印出所有的 Java 系統(tǒng)屬性和環(huán)境變量陌宿,初次調(diào)用會(huì)先下載插件哦O(∩_∩)O~锡足。

4 設(shè)置 HTTP 代理

有時(shí)需要通過(guò)安全認(rèn)證的代理訪問(wèn)因特網(wǎng)。

有一些可以檢測(cè)網(wǎng)絡(luò)的控制臺(tái)命令:

命令 說(shuō)明
ping repol.maven.org 能否直接訪問(wèn)公共的 Maven 中央倉(cāng)庫(kù)
telnet ip 地址 端口號(hào) 檢查服務(wù)器是否暢通壳坪。
輸入 ctrl + ] 舶得,然后 q,回車 telnet 連接成功需要退出爽蝴。

win7 操作系統(tǒng)的 Telnet 服務(wù)默認(rèn)是關(guān)閉的沐批。我們可以這樣開(kāi)啟:
控制面板-》 程序和功能-》 打開(kāi)或關(guān)閉 Windows 功能 -》勾選 Telnet 服務(wù)器和客戶端兩項(xiàng)即可。


開(kāi)啟 Telnet 服務(wù)

網(wǎng)絡(luò)確定需要代理后蝎亚,現(xiàn)在編輯 ~/.m2/settings.xml 文件(如果沒(méi)有該文件九孩,則復(fù)制$MAVEN_HOME/conf/settings.xml)。添加代理配置如下:

<proxies>
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
  </proxies>
屬性名稱 說(shuō)明
id 代理配置 ID
active 是否激活发框。如果配置了多個(gè) proxy躺彬,那么第一個(gè)被激活的 proxy 會(huì)生效。
protocol 代理協(xié)議
username 代理認(rèn)證賬號(hào)
password 代理認(rèn)證密碼
nonProxyHosts 指定哪些主機(jī)名

當(dāng)代理服務(wù)需要認(rèn)證時(shí)梅惯,需要配置username和password宪拥。

nonProxyHosts:用來(lái)指定哪些主機(jī)名不需要代理,可以使用 “|” 符合來(lái)分隔多個(gè)主機(jī)名铣减,該配置也支持通配符她君。

5 intellij IDEA 的 Maven 配置

intellij IDEA 作為一款優(yōu)秀的 IDE,本身已經(jīng)自帶了 Maven 插件徙歼,所以我們只需要進(jìn)行簡(jiǎn)單配置就可以啦犁河。打開(kāi) Settings -> Maven:

Maven 配置

配置一下 Maven home directory鳖枕,即 Maven 的安裝目錄就可以了魄梯。如果你是照著我們的教程一步一步配置下來(lái)的話,那么 User settings file 與 Local repository 采用默認(rèn)檢測(cè)值就可以咯宾符,是不是很簡(jiǎn)單呀O(∩_∩)O~

6 Maven 配置最佳實(shí)踐

  • 設(shè)置 MAVEN_OPTS 環(huán)境變量:值:-Xms128m -Xmx512m

因?yàn)?Java 默認(rèn)的最大可用內(nèi)存往往不能夠滿足 Maven 運(yùn)行的需要酿秸,比如在項(xiàng)目較大時(shí),使用 Maven 生成項(xiàng)目站點(diǎn)需要占用大量的內(nèi)存魏烫,如果沒(méi)有設(shè)置該配置辣苏,就會(huì)很容易拋出 java.lang.OutOfMemeoryError肝箱。因此,一開(kāi)始就配置該變量是比較好的實(shí)踐稀蟋。

盡量不要直接修改 mvn.bat 或者 mvn 這兩個(gè) Maven 執(zhí)行腳本文件煌张。因?yàn)槿绻薷牧四_本文件,升級(jí) Maven 時(shí)就不得不再次修改退客,一來(lái)麻煩骏融,二來(lái)容易忘記。同樣的道理萌狂,我們應(yīng)該盡可能地不去修改任何 Maven 安裝目錄下的文件档玻。

  • 配置用戶范圍 settings.xml

使用用戶范圍的 ~/.m2/settings.xml,這樣只有當(dāng)前用戶才會(huì)受到該配置的影響茫藏,這樣避免無(wú)意識(shí)地影響到系統(tǒng)中的其他用戶误趴。而且每次升級(jí)到新版本的 Maven 時(shí),都不會(huì)對(duì)用戶范圍的配置文件有影響务傲。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末凉当,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子树灶,更是在濱河造成了極大的恐慌纤怒,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件天通,死亡現(xiàn)場(chǎng)離奇詭異泊窘,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)像寒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門烘豹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人诺祸,你說(shuō)我怎么就攤上這事携悯。” “怎么了筷笨?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵憔鬼,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我胃夏,道長(zhǎng)轴或,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任仰禀,我火速辦了婚禮照雁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘答恶。我一直安慰自己饺蚊,他們只是感情好萍诱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著污呼,像睡著了一般裕坊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上燕酷,一...
    開(kāi)封第一講書(shū)人閱讀 51,208評(píng)論 1 299
  • 那天碍庵,我揣著相機(jī)與錄音,去河邊找鬼悟狱。 笑死静浴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的挤渐。 我是一名探鬼主播苹享,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼浴麻!你這毒婦竟也來(lái)了侯养?” 一聲冷哼從身側(cè)響起采盒,我...
    開(kāi)封第一講書(shū)人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤桨嫁,失蹤者是張志新(化名)和其女友劉穎强法,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體膏萧,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡漓骚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了榛泛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝌蹂。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖曹锨,靈堂內(nèi)的尸體忽然破棺而出孤个,到底是詐尸還是另有隱情,我是刑警寧澤沛简,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布齐鲤,位于F島的核電站,受9級(jí)特大地震影響椒楣,放射性物質(zhì)發(fā)生泄漏给郊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一撒顿、第九天 我趴在偏房一處隱蔽的房頂上張望丑罪。 院中可真熱鬧荚板,春花似錦凤壁、人聲如沸吩屹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)煤搜。三九已至,卻和暖如春唧席,著一層夾襖步出監(jiān)牢的瞬間擦盾,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工淌哟, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留迹卢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓徒仓,卻偏偏與公主長(zhǎng)得像腐碱,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子掉弛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容