mac系統(tǒng)下的Maven安裝配置及創(chuàng)建你的第一個Maven項目

title: mac系統(tǒng)下的Maven安裝配置及創(chuàng)建你的第一個Maven項目
tags: maven
categories: maven


若圖片無法顯示,請前往我的博客查看,相應(yīng)文章鏈接:http://codingxiaxw.cn/2016/11/24/51-first-maven-project/

我是在學(xué)完SSM框架的整合與基本開發(fā)后接觸的Maven,它是一個項目管理的利器,網(wǎng)上也有說java后臺的項目管理肯定要用到maven的惹恃。為什么要用maven?在之前學(xué)習(xí)各個框架的時候参淹,比如用Spring框架進行開發(fā)的時候要在項目中加入Spring的各個jar包及其依賴包;用MyBatis進行開發(fā)的時候要在項目中引入MyBatis的各個jar包开呐。這樣是不是太過于繁瑣?而有了maven對項目進行管理,就簡單多了。為什么簡單多了?有了maven,這樣當(dāng)我們的項目需要哪個jar包時就可以直接在maven為我們生成的pom.xml文件中添加相關(guān)jar包依賴就行当编,而不需要導(dǎo)入那么多的jar包(可以看看我的這篇文章揍拆,用用Maven+SSM框架寫一個秒殺系統(tǒng)教程,告訴你maven是如何進行項目管理的),而本篇文章只是教大家如何安裝Maven及如何快速入門創(chuàng)建一個Maven項目竹椒。

寫在前面的話:此篇文章教程是在IntelliJ IDEA中搭建的maven項目征冷。(建議eclipse黨快點轉(zhuǎn)IDEA吧齿穗,IDEA大法好。逃...

1.maven的安裝

前往Apache Maven官網(wǎng)點擊apache-maven-3.3.9-bin.zip鏈接下載3.3.9的版本即可砸泛。下載后我將該目錄放到/Users/codingBoy/的目錄下围俘,文件名為apache-maven-3.3.9陶耍。這樣我們便成功安裝好maven管理工具,但這還不夠来累,還需要設(shè)置maven環(huán)境變量米同。

2.配置maven環(huán)境變量

打開終端,退到根目錄/Users/codingBoy/梦裂,輸入命令:$ vi ~/.bash_profile打開bash_profile文件,然后添加如下兩行代碼:

export M2_HOME=/Users/robbie/apache-maven-3.3.9
export PATH=$PATH:$M2_HOME/bin

然后繼續(xù)退回到根目錄味赃,輸入$ source ~/.bash_profile使bash_profile文件添加的內(nèi)容即刻生效态兴。

接下來在終端輸入mvn -v,若出現(xiàn)如下內(nèi)容罢吃,說明你的maven管理工具成功安裝并成功配置:[圖片上傳失敗...(image-1ef42b-1526380861601)]

到此怪蔑,Maven在mac系統(tǒng)下的安裝和配置即完成。接下來講解用maven進行項目管理的一些基礎(chǔ)知識车荔。

3.創(chuàng)建第一個maven項目

創(chuàng)建maven項目有兩種方式,第一種是用命令行輸入代碼超歌、運行即可生成辐董;第二種是直接用IDEA創(chuàng)建web項目時選擇創(chuàng)建maven的web項目即可(IDEA相比eclipse的第一個優(yōu)點在此就顯露:IDEA已經(jīng)集成maven插件欠窒,所以我們可以直接在IDEA中創(chuàng)建maven項目;而eclipse中我們還要進行下載maven插件等一系列操作狠裹,簡直不能再繁瑣汽烦。)。 這里我們先介紹第一種在終端輸入命令的方式創(chuàng)建maven項目。

3.1使用命令行創(chuàng)建Maven項目

在終端的根目錄下輸入如下命令:

mvn archetype:generate -DgroupId=cn.codingxiaxw.helloword -DartifactId=helloworld -Dpackage=cn.codingxiaxw.helloword -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart

命令解釋如下:

  • mvn:表示使用的是maven命令账劲。
  • archetype:generate:表示使用generate這個插件為我們的maven項目自動生成一個maven骨架,即我們項目的工程結(jié)構(gòu)(如下圖)梗肝。后邊跟的是該插件為我們創(chuàng)建工程結(jié)構(gòu)所需要的一連串的參數(shù)。
  • -DgroupId:標(biāo)識項目的坐標(biāo)元素之一,與DartifactId,Dpackaging,Dversion組成我們maven項目的坐標(biāo)顷级,四者唯一確定一個項目恨豁。它的值為我們的項目包名计福,我這里的格式用的我的博客網(wǎng)站后綴+我的用戶名+項目名組成陶冷。
  • -DartifactId:標(biāo)識項目的坐標(biāo)元素之一,它的值為我們的項目名涩僻。我這里指定我要生成的項目名為helloword缭召。
  • -Dpackage:標(biāo)識項目的坐標(biāo)元素之一,這里值就跟DgroupId的值保持一致即可。此屬性在命令行中可選逆日。
  • -Dversion:指定版本號嵌巷。此屬性在命令行中可選
  • -DarchetypeArtifactId:表示我們生成的工程結(jié)構(gòu)為哪一種,這里的屬性值為maven-archetype-quickstart表示生成工程目錄結(jié)構(gòu)為quickstart的結(jié)構(gòu)室抽。其值還可以為maven-archetype-webapp表示生成的工程目錄結(jié)構(gòu)為webapp的結(jié)構(gòu)搪哪。

運行該命令,可看到終端中使用的maven命令自動為我們在下載maven的各個依賴包坪圾,執(zhí)行命令的過程時間可能比較久晓折,完成時間取決于個人網(wǎng)絡(luò)狀況。

完成后我們可以在自己的根目錄下發(fā)現(xiàn)一個名為"helloword"項目名兽泄,說明我們成功在終端使用maven命令創(chuàng)建出一個maven項目漓概,打開該helloword項目,會發(fā)現(xiàn)我們生成的maven項目的目錄布局為這樣的:

helloword
   |-src
   |---main
   |-----java
   |-------cn
   |---------codingxiaxw   
   |-----------App.java
   |---test|-----java
   |-------cn
   |---------codingxiaxw
   |-----------AppTest.java
   |-pom.xml

沒錯病梢,這就是我們通過命令行自動我們生成的maven項目的骨架胃珍,在maven項目的開發(fā)中,所有的源代碼放在文件夾 /src/main/java/下, 所有的單元測試代碼放入 /src/test/java/蜓陌∶僬茫可以參考官方網(wǎng)站的Maven標(biāo)準(zhǔn)目錄 附加的一個標(biāo)準(zhǔn)的pom.xml被生成。這個POM文件類似于Ant的build.xml文件钮热,它描述了整個項目的信息填抬,一切從目錄結(jié)構(gòu)、項目的插件隧期、項目依賴飒责、如何構(gòu)建這個項目等赘娄,關(guān)于pom的介紹我會在下文中進行講解,你也可以參考官方網(wǎng)站的POM官方指南

然后我們便可以打開IDEA-Import Project操作導(dǎo)入helloword包下pom.xml一路next即可打開該maven項目读拆。

這樣我們便使用第一種使用maven命令行的方式創(chuàng)建了我們的maven項目擅憔。

3.2使用IDEA創(chuàng)建Maven項目

而第二種方式更加簡單,只需打開IDEA-New Project檐晕,出現(xiàn)如下窗口:
[圖片上傳失敗...(image-48a6ad-1526380861601)]

選擇左邊的maven項目暑诸,然后點擊右邊框框中的任意一種模版(根據(jù)選擇的模版生成我們的項目工程目錄結(jié)構(gòu),選擇上面講的webapp和quickstart都可辟灰,但是二者創(chuàng)建的目錄結(jié)構(gòu)是有差別的个榕,我們先選擇創(chuàng)建quickstart樣式的模版,然后選擇創(chuàng)建webapp樣式的模版芥喇,對比一下二者的目錄結(jié)構(gòu)區(qū)別)即可next到這一步:[圖片上傳失敗...(image-364a6e-1526380861601)]

填寫我們的項目名和包名然后next到這一步:

[圖片上傳失敗...(image-50885c-1526380861601)]

然后繼續(xù)填寫我們的項目名后西采,點擊finish完成創(chuàng)建,這樣我們便通過第二種方式直接用IDEA創(chuàng)建了我們的maven項目继控。創(chuàng)建的項目工程結(jié)構(gòu)如圖:

<img src="http://od2xrf8gr.bkt.clouddn.com/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202016-11-24%20%E4%B8%8B%E5%8D%885.58.13.png" width="50%" height="50%"/>

發(fā)現(xiàn)App.java和AppTest.java圖標(biāo)顯示不對械馆,因為它為我們自動生成的pop.xml文件中添加了依賴但是沒有自動引入jar包,需要我們點擊右下角(也許你的出現(xiàn)在左上角?)的Enable Auto-Import:

[圖片上傳失敗...(image-20eeaf-1526380861601)]

然后我們的工程才算徹底搭建好武通,如下:

<img src="http://od2xrf8gr.bkt.clouddn.com/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202016-11-24%20%E4%B8%8B%E5%8D%886.01.54.png" width="50%" height="50%"/>

如上是采用的生成工程目錄的模版是quickstart的霹崎,接下來演示創(chuàng)建模版是webapp的,而往往我們的JavaWeb采用的工程模版就是通過webapp生成的冶忱,接下來演示通過webapp創(chuàng)建的maven項目,還是打開IDEA-->New Project尾菇,出現(xiàn)如下界面:

[圖片上傳失敗...(image-202b79-1526380861601)]

然后next和上述quickstart的步驟一樣,一直到finish囚枪,我們創(chuàng)建的maven項目工程結(jié)構(gòu)如下:

<img src="http://od2xrf8gr.bkt.clouddn.com/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202016-11-24%20%E4%B8%8B%E5%8D%8811.41.09.png" width="50%" />

和上述quickstart創(chuàng)建的模版區(qū)別一看便知派诬,為了讓此maven項目符合官網(wǎng)上規(guī)定的標(biāo)準(zhǔn)工程結(jié)構(gòu),所以在IDEA中打開項目配置,添加項目沒有包如在src包下添加test包链沼,在test包下添加java包和resources包默赂,在main包下添加java包然后點擊apply即可,如下圖:
[圖片上傳失敗...(image-24f274-1526380861601)]

到此我們便完成了第一個maven項目的創(chuàng)建忆植,接下來我要進行Maven核心知識的講解,見下篇文章Maven核心知識(待更新)放可。

2018.3.19更

歡迎加入我的Java交流1群:659957958。群里目前已有1800人朝刊,每天都非常活躍蜈缤,但為了篩選掉那些不懷好意的朋友進來搞破壞拾氓,所以目前入群方式已改成了付費方式,你只需要支付9塊錢底哥,即可獲取到群文件中的所有干貨以及群里面各位前輩們的疑惑解答咙鞍;為了鼓勵良好風(fēng)氣的發(fā)展房官,讓每個新人提出的問題都得到解決,所以我將得到的入群收費收入都以紅包的形式發(fā)放到那些主動給新手們解決疑惑的朋友手中续滋。在這里翰守,我們除了談技術(shù),還談生活疲酌、談理想蜡峰;在這里,我們?yōu)槟愕膶W(xué)習(xí)方向指明方向朗恳,為你以后的求職道路提供指路明燈湿颅;在這里,我們把所有好用的干貨都與你分享粥诫。還在等什么油航,快加入我們吧!

2018.4.21更:如果群1已滿或者無法加入怀浆,請加Java學(xué)習(xí)交流2群:305335626 谊囚。群2作為群1的附屬群,除了日常的技術(shù)交流执赡、資料分享镰踏、學(xué)習(xí)方向指明外,還會在每年互聯(lián)網(wǎng)的秋春招時節(jié)在群內(nèi)發(fā)布大量的互聯(lián)網(wǎng)內(nèi)推方式搀玖,話不多說余境,快上車吧!

4.聯(lián)系

If you have some questions after you see this article,you can tell your doubts in the comments area or you can find some info by clicking these links.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灌诅,一起剝皮案震驚了整個濱河市芳来,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌猜拾,老刑警劉巖即舌,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異挎袜,居然都是意外死亡顽聂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門盯仪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來紊搪,“玉大人,你說我怎么就攤上這事全景∫” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵爸黄,是天一觀的道長滞伟。 經(jīng)常有香客問我揭鳞,道長,這世上最難降的妖魔是什么梆奈? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任野崇,我火速辦了婚禮,結(jié)果婚禮上亩钟,老公的妹妹穿的比我還像新娘乓梨。我一直安慰自己,他們只是感情好径荔,可當(dāng)我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布督禽。 她就那樣靜靜地躺著,像睡著了一般总处。 火紅的嫁衣襯著肌膚如雪狈惫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天鹦马,我揣著相機與錄音胧谈,去河邊找鬼。 笑死荸频,一個胖子當(dāng)著我的面吹牛菱肖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播旭从,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼稳强,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了和悦?” 一聲冷哼從身側(cè)響起退疫,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸽素,沒想到半個月后褒繁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡馍忽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年棒坏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遭笋。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡坝冕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瓦呼,到底是詐尸還是另有隱情徽诲,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布吵血,位于F島的核電站谎替,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蹋辅。R本人自食惡果不足惜钱贯,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望侦另。 院中可真熱鬧秩命,春花似錦、人聲如沸褒傅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽殿托。三九已至霹菊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間支竹,已是汗流浹背旋廷。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留礼搁,地道東北人饶碘。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像馒吴,于是被迫代替她去往敵國和親扎运。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,629評論 2 354

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