Maven是一個項目管理工具,它包含了一個項目對象模型(PRoject Object Model),一組標準集合,一個項目生命周期(Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(goal)的邏輯。
n 項目對象模型
n 標準集合
n 項目生命周期
n 依賴管理系統
n 在生命周期各階段插件和目錄的邏輯
項目的生命周期
傳統項目構建,每個環節都需要人工手動完成, Maven是自動化項目構建工具 ,幫助自動完成整個項目構建
搜索并下載maven
下載網址:http://maven.apache.org/download.cgi
n 下載3.1.1 版本 (最新版本)
apache-maven-3.1.1-bin.zip
n 解壓maven項目(不要空格和中文)
bin 操作maven命令 (mvn.bat、mvnDebug.bat)
mvn、mvnDebug不帶擴展名文件為linux操作系統提供
boot 提供maven自定義類加載器
conf 存放maven配置文件 (settings.xml 是maven核心配置文件)
lib 執行maven指令需要一些jar包
n 配置maven環境變量
首先需要確認系統中裝有JDK(版本1.4+),將java_HOME/bin加入環境變量path
l 配置 MAVEM_HOME = maven壓縮包解壓目錄
l 在path環境變量中 增加%MAVEN_HOME%/bin
在cmd窗口直接找到 mvc和mvnDebug命令文件
在cmd窗口下運行mvn-v檢查maven是否安裝配置成功
MAVEN_HOME/conf/settings.xml 核心配置文件
默認倉庫位置: C:/Documents and Settings/seawind/.m2/repository文件夾
通過配置settings.xml中<localRepository>修改倉庫位置
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
-->
<localRepository>D:/apache-maven-3.1.1/repository</localRepository>
settings.xml其它配置
被maven管理項目,需要在項目根目錄有pom.xml
Maven要管理項目通過 坐標 (groupId、artifactId)
depencency 如果構建一個項目,這個項目依賴哪些項目
plug-in 插件,執行maven構建程序
n 在硬盤建立工作空間 ---- 存放項目源碼的位置
n 使用maven命令創建一個項目
mvn archetype:create -DgroupId=cn.itcast.maven.quickstart -DartifactId=simple -DarchetypeArtifactId=maven-archetype-quickstart
這里 groupId 相當于package、artifactId相當于項目名稱
第一次執行 maven構建項目時,需要下載相關插件包
src/main/java存放項目源碼
src/test/java 存放測試代碼
pom.xml 項目核心構建配置文件
進入項目目錄 (pom.xml 所在文件夾)
建立項目到workspace 中
執行mvn 項目構建命令,進入項目根目錄 (pom.xml所在目錄)
Maven項目完整生命周期
l validate
l generate-sources
l process-sources
l generate-resources
l process-resources 復制并處理資源文件,至目標目錄,準備打包。
l compile 編譯項目的源代碼。
l process-classes
l generate-test-sources
l process-test-sources
l generate-test-resources
l process-test-resources 復制并處理資源文件,至目標測試目錄。
l test-compile 編譯測試源代碼。
l process-test-classes
l test 使用合適的單元測試框架運行測試。這些測試代碼不會被打包或部署。
l prepare-package
l package 接受編譯好的代碼,打包成可發布的格式,如JAR。
l pre-integration-test
l integration-test
l post-integration-test
l verify
l install 將包安裝至本地倉庫,以讓其它項目依賴。
l deploy 將最終的包復制到遠程的倉庫,以讓其它開發人員與項目共享。
n 轉換Eclipse工程 (在pom.xml目錄執行)
u mvn eclipse:eclipse
u mvn eclipse:clean //清除Eclipse設置信息
n 轉換成IDEA 工程(在pom.xml目錄執行)
u mvn idea:idea
u mvn idea:clean //清除idea設置信息
n 顯示一個插件的詳細信息(configuration, goals等):
u mvn help:describe -Dplugin=pluginName -Ddetail
新聞熱點
疑難解答