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 .bashrcexport M2_HOME=/home/soft01/maven/apache-maven-3.2.5export 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 基本操作
? 步驟:
創建Java項目
mvn archetype:generate指定的信息如下:
archetype:(maven-archetype-quickstart) #使用骨架創建java項目 groupId:com.itany.study #指定組織域名反向+項目名 artifactId:sms #指定模塊名稱 version:1.0.1 #版本 package:com.itany.study #包名執行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 基本操作
? 步驟:
創建web項目
mvn archetype:generate指定的信息如下:
archetype:(maven-archetype-webapp) #使用模板創建web項目 .....執行maven操作
mvn clean compile package發布
方式1:使用外部的tomcat
? 將shop.war包復制到webapps目錄下,然后啟動tomcat
cd tomcat.../bin ./startup.sh方式2:使用maven的tomcat插件
mvn tomcat:run訪問
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,創建后需要設置目錄的類型
轉載于:https://blog.51cto.com/12402007/2154869
總結
以上是生活随笔為你收集整理的Maven使用详解视频课程——笔记(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ArcGIS 基础11-专题制图
- 下一篇: 什么是7层负载均衡?