Maven使用詳解視頻課程——筆記(一)

視頻課程鏈接:http://edu.51cto.com/course/13014.html

Maven項目管理工具,主講:湯小洋

一、Maven簡介

1. 什麼是Maven

​ Apache Maven是一個軟件項目管理和構建工具,可以幫助我們創建和管理項目

​ 基於項目對象模型POM(Poject Object Model)的概念,幫助開發者構造一個項目的完整生命週期

​ 注:POM是Maven對一個項目的描述,是Maven的核心,一個POM其實就是一個XML文件

2. 爲什麼使用Maven

2.1 項目的管理工具

​ 項目規則很大時一定會將項目進行拆分,將一個項目拆分成多個模塊,每個模塊對應一個工程,多個工程之間存儲依賴關係

​ 此時可以使用Maven的依賴管理機制,幫助我們在項目與項目之間建立依賴關係

2.2 jar包的管理工具

  • 通過倉庫管理jar包

    多個項目可能會用到相同的jar包,每個項目都要導入jar包,太麻煩

    此時可以通過Maven,將jar包放到Maven倉庫中,在項目中引用倉庫中的jar包

  • 解決jar包的依賴

    jar包之間存儲依賴關係,並且依賴層次很複雜,很難記住

    此時可以使用Maven,幫助我們自動解決jar包間的依賴關係

  • 自動下載jar包

    項目中使用的jar數據很多,自己下載並手動添加jar包

    此時可以使用Maven,幫助我們自動下載所有相關的jar包

2.3 自動化的構建工具

​ 構建過程:編譯主代碼——>編譯測試代碼——>執行單元測試——>生成測試報告——>打包——>部署

3. 術語

3.1 中央倉庫

​ 是一個網絡倉庫,存儲jar包和maven插件

http://repo.maven.apache.org/maven2

http://repo1.maven.org/maven2/

http://mvnrepository.com/

3.2 本地倉庫

​ 從中央倉庫下載的jar包的存放位置,也是一個倉庫,只不過是存放在本地電腦上

3.3 鏡像倉庫

​ 對某一倉庫做的鏡像

​ 阿里雲提供的 http://maven.aliyun.com/nexus/content/groups/public/

3.4 私服

​ 局域網內部搭建的maven服務器

4. 單詞

​ repository 倉庫

​ archetype 原型、骨架(模板)

​ artifact 手工製品,成品(項目/jar/war)

二、安裝Maven

1. 下載安裝包

​ maven 3.2.5版本要求jdk1.6,其後的版本要求jdk1.7

2. 解壓縮

​ 解壓到無中文、無空格,不需要安裝

3. 配置環境變量

3.1 Windows

​ Maven依賴於JAVA_HOME

echo %JAVA_HOME%
echo $JAVA_HOME

​ Maven環境變量:

  • M2_HOME=Maven安裝目錄
  • PATH=原PATH;%M2_HOME%/bin

​ 測試:mvn -version

3.2 Linux/Mac OS

​ 編輯/home/soft01/.bashrc文件,在最後一行添加內容:

cd /home/soft01
vi .bashrc
    export M2_HOME=/home/soft01/maven/apache-maven-3.2.5
    export PATH=$PATH:$M2_HOME/bin

​ 使修改立即生效:

source .bashrc

​ 測試:mvn -version

​ 成功的界面:

Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-15T01:29:23+08:00)
Maven home: /home/soft01/maven/apache-maven-3.2.5
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-oracle/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-30-generic", arch: "i386", family: "unix"

4. 配置本地倉庫

4.1 本地倉庫的默認位置

​ ~/.m2/repository

4.2 修改本地倉庫的位置

​ 編輯conf/setting.xml

<localRepository>D:\maven\maven-repo</localRepository>

​ 測試:

cd maven/maven-projects
mvn archetype:generate  #創建maven項目

​ 提示:

  • 選擇創建項目時使用的模板archetype:按回車
  • 輸入groupId,一般爲組織域名反向+項目名:com.itany.ums
  • 輸入artifactId:test
  • 版本:按回車
  • 包名:按回車
  • 確認:按回車

5. 配置鏡像倉庫

​ 編輯conf/setting.xml

<mirrors>   
  <mirror>
    <id>aliyun</id>
    <mirrorOf>*</mirrorOf> <!-- 所有訪問都使用該鏡像倉庫 -->
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  </mirror>
</mirrors>

6. 配置Maven的JDK版本

​ 默認使用maven創建的項目使用的是jdk1.5

​ 修改maven默認使用的jdk版本,編輯conf/setting.xml,在profiles標籤中添加如下內容:

<profile>
  <id>jdk‐1.7</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.7</jdk>
  </activation>
  <properties>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
  </properties>
</profile>

三、創建Maven項目

1. Java項目的創建

1.1 目錄結構

​ Java工程約定的目錄結構如下:

|-項目名稱
    |-src  //程序代碼
        |-main //程序主代碼
            |-java //源代碼
                |-用於存放源代碼,相當於傳統項目的src,如com.itany.usm.dao.UserDao
            |-resources //配置文件
                |-用於存放配置文件
        |-test //測試代碼,目錄結構與main中一樣
            |-java
            |-resources
    |-pom.xml  //maven核心配置文件

1.2 基本操作

​ 步驟:

  1. 創建Java項目

    mvn archetype:generate

    指定的信息如下:

    archetype:(maven-archetype-quickstart) #使用骨架創建java項目
    groupId:com.itany.study #指定組織域名反向+項目名
    artifactId:sms #指定模塊名稱
    version:1.0.1 #版本
    package:com.itany.study #包名
  2. 執行maven操作

    cd sms  #先切換到項目所在的目錄
    mvn compile
    mvn clean compile test #可以同時執行多個命令

1.3 自定義Java類

2. Web項目的創建

1.1 目錄結構

​ Web項目的約定目錄結構如下:

|-項目名稱
    |-src  //程序代碼
        |-main //程序主代碼
            |-java //源代碼
                |-用於存放源代碼,相當於傳統項目的src,如com.itany.usm.dao.UserDao
            |-resources //配置文件
                |-用於存放配置文件
            |-webapp //網站根目錄,相當於傳統web項目的WebRoot
                |-WEB-INF
                    |-web.xml
        |-test //測試代碼,目錄結構與main中一樣
            |-java
            |-resources
    |-pom.xml  //maven核心配置文件    

1.2 基本操作

​ 步驟:

  1. 創建web項目

    mvn archetype:generate

    指定的信息如下:

    archetype:(maven-archetype-webapp) #使用模板創建web項目
    .....
  2. 執行maven操作

    mvn clean compile package
  3. 發佈

    方式1:使用外部的tomcat

    ​ 將shop.war包複製到webapps目錄下,然後啓動tomcat

    cd tomcat.../bin
    ./startup.sh

    方式2:使用maven的tomcat插件

    mvn tomcat:run
  4. 訪問

    http://localhost:8080/shop

四、Maven命令

1. 常用命令

命令 作用 描述
archetype 創建maven項目 根據模板生成項目骨架
clean 清理 刪除target目錄
compile 編譯 將main中的源代碼編譯成字節碼,放在target/classes目錄下
test 測試 執行測試類(使用JUnit),並生成測試報告
package 打包 將java項目打包成jar文件,將web項目打包成war文件,放在target目錄下
install 安裝 將項目的jar包安裝到本地倉庫中,供其他項目使用
deploy 發佈/安裝 將項目的jar包安裝到中央倉庫中,供其他項目使用,需要賬戶和密碼(瞭解)
site 生成站點 生成關於項目介紹的網頁

注意:

  • 所有的命令都要跟在mvn的後面,如mvn archetype
  • 所有的命令都必須在某個項目的根目錄
  • 多個命令可以一起執行

2. 生命週期

​ 一個項目的構建build的過程通常包括:清理、編譯、測試、打包、集成測試、部署等

​ Maven定義了三套生命週期:clean、default、site

​ 每個生命週期之間是互相獨立,每個生命週期內都包含多個階段,這些階段是有順序的,後續的階段必須等待前面的階段執行後才能執行

​ default生命週期包含:compile、test、package

五、在IDE中使用Maven

1.IDE工具

  • MyEclipse

    集成Maven插件

  • Eclipse

    Eclipse For Java EE

  • IDEA

    集成Maven插件

2. MyEclipse

2.1 配置maven

​ Installations

​ User Settings

2.2 創建maven項目

​ New——>Maven Project——>archetype

3. Eclipse

4. IDEA

4.1 配置maven

  • 指定maven安裝目錄和配置文件
  • 自動更新maven項目:勾選Import Maven projects automatically

4.2 創建maven項目

​ New Module——>Maven——>勾選Create from archetype

4.3 執行maven操作

​ Maven Projects 顯示所有Maven項目

​ 執行生命週期

​ 自定義Maven操作

4.4 目錄的類型

​ IDEA中目錄是分類型的,常用的四種:

  • Sources Root 主代碼的目錄 src/main/java

  • Test Source Root 測試代碼的目錄 src/test/java

  • Resources Root 主代碼所需資源的目錄 src/main/resources

  • Test Resources Root 測試代碼所需資源的目錄 src/test/resources

    注:在IDEA中默認創建的目錄都是普通的Directory,創建後需要設置目錄的類型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章