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.