天天看點

maven idea

寫在前面的話:此篇文章教程是在IntelliJ IDEA中搭建的maven項目。(建議eclipse黨快點轉IDEA吧,IDEA大法好。逃… 

1.maven的安裝

前往Apache Maven官網點選

apache-maven-3.3.9-bin.zip

連結下載下傳3.3.9的版本即可。下載下傳後我将該目錄放到/Users/codingBoy/的目錄下,檔案名為apache-maven-3.3.9。這樣我們便成功安裝好maven管理工具,但這還不夠,還需要設定maven環境變量。 

2.配置maven環境變量

打開終端,退到根目錄

/Users/codingBoy/

,輸入指令:

$ vi ~/.bash_profile

打開bash_profile檔案,然後添加如下兩行代碼:

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

然後繼續退回到根目錄,輸入

$ source ~/.bash_profile

使bash_profile檔案添加的内容即刻生效。 

接下來在終端輸入

mvn -v

,若出現如下内容,說明你的maven管理工具成功安裝并成功配置:

到此,Maven在mac系統下的安裝和配置即完成。接下來講解用maven進行項目管理的一些基礎知識。 

3.建立第一個maven項目

建立maven項目有兩種方式,第一種是用指令行輸入代碼、運作即可生成;第二種是直接用IDEA建立web項目時選擇建立maven的web項目即可(IDEA相比eclipse的第一個優點在此就顯露:IDEA已經內建maven插件,是以我們可以直接在IDEA中建立maven項目;而eclipse中我們還要進行下載下傳maven插件等一系列操作,簡直不能再繁瑣。)。 這裡我們先介紹第一種在終端輸入指令的方式建立maven項目。 

3.1使用指令行建立Maven項目

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

1
      
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骨架,即我們項目的工程結構(如下圖)。後邊跟的是該插件為我們建立工程結構所需要的一連串的參數。
  • -DgroupId

    :辨別項目的坐标元素之一,與DartifactId,Dpackaging,Dversion組成我們maven項目的坐标,四者唯一确定一個項目。它的值為我們的項目包名,我這裡的格式用的我的部落格網站字尾+我的使用者名+項目名組成。
  • -DartifactId

    :辨別項目的坐标元素之一,它的值為我們的項目名。我這裡指定我要生成的項目名為helloword。
  • -Dpackage

    :辨別項目的坐标元素之一,這裡值就跟DgroupId的值保持一緻即可。此屬性在指令行中可選。
  • -Dversion

    :指定版本号。此屬性在指令行中可選
  • -DarchetypeArtifactId

    :表示我們生成的工程結構為哪一種,這裡的屬性值為

    maven-archetype-quickstart

    表示生成工程目錄結構為quickstart的結構。其值還可以為

    maven-archetype-webapp

    表示生成的工程目錄結構為webapp的結構。

運作該指令,可看到終端中使用的maven指令自動為我們在下載下傳maven的各個依賴包,執行指令的過程時間可能比較久,完成時間取決于個人網絡狀況。

完成後我們可以在自己的根目錄下發現一個名為”helloword”項目名,說明我們成功在終端使用maven指令建立出一個maven項目,打開該helloword項目,會發現我們生成的maven項目的目錄布局為這樣的:

1
2
3
4
5
6
7
8
9
10
11
12
      
helloword
   |-src
   |---main
   |-----java
   |-------cn
   |---------codingxiaxw   
   |-----------App.java
   |---test|-----java
   |-------cn
   |---------codingxiaxw
   |-----------AppTest.java
   |-pom.xml
      

沒錯,這就是我們通過指令行自動我們生成的maven項目的骨架,在maven項目的開發中,所有的源代碼放在檔案夾 

/src/main/java/

下, 所有的單元測試代碼放入 

/src/test/java/

。可以參考官方網站的Maven标準目錄 附加的一個标準的pom.xml被生成。這個POM檔案類似于Ant的build.xml檔案,它描述了整個項目的資訊,一切從目錄結構、項目的插件、項目依賴、如何建構這個項目等,關于pom的介紹我會在下文中進行講解,你也可以參考官方網站的POM官方指南

然後我們便可以打開IDEA-Import Project操作導入helloword包下pom.xml一路next即可打開該maven項目。 

這樣我們便使用第一種使用maven指令行的方式建立了我們的maven項目。 

3.2使用IDEA建立Maven項目

而第二種方式更加簡單,隻需打開IDEA-New Project,出現如下視窗:

選擇左邊的maven項目,然後點選右邊框框中的任意一種模版(根據選擇的模版生成我們的項目工程目錄結構,選擇上面講的webapp和quickstart都可,但是二者建立的目錄結構是有差别的,我們先選擇建立quickstart樣式的模版,然後選擇建立webapp樣式的模版,對比一下二者的目錄結構差別)即可next到這一步:

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

然後繼續填寫我們的項目名後,點選finish完成建立,這樣我們便通過第二種方式直接用IDEA建立了我們的maven項目。建立的項目工程結構如圖: 

發現App.java和AppTest.java圖示顯示不對,因為它為我們自動生成的pop.xml檔案中添加了依賴但是沒有自動引入jar包,需要我們點選右下角(也許你的出現在左上角?)的

Enable Auto-Import

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

如上是采用的生成工程目錄的模版是

quickstart

的,接下來示範建立模版是

webapp

的,而往往我們的JavaWeb采用的工程模版就是通過webapp生成的,接下來示範通過webapp建立的maven項目,還是打開IDEA–>New Project,出現如下界面: 

然後next和上述

quickstart

的步驟一樣,一直到finish,我們建立的maven項目工程結構如下: 

和上述quickstart建立的模版差別一看便知,為了讓此maven項目符合官網上規定的标準工程結構,是以在IDEA中打開項目配置,添加項目沒有包如在src包下添加test包,在test包下添加java包和resources包,在main包下添加java包然後點選apply即可,如下圖:

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