這裏能夠很是詳細的瞭解maven,本人已經完整讀過一次,值得推薦html
http://www.yiibai.com/maven/ java
1. Maven的概念
apache
Maven是一個項目管理和綜合工具。它提供給開發人員構建一個完整的生命週期框架,它使用標準的目錄結構和默認的生命週期。oracle
2. Maven默認項目結構app
Maven提供一個合理的默認配置,開發人員建立一個Maven項目時,必須使用Maven默認的項目結構。開發者只須要將相應的文件放到Maven默認項目結構目錄下便可,同時須要在pom.xml中定義相關配置。
框架
maven默認目錄結構eclipse
假設${baseDir}表示項目位置,則maven的默認目錄結構以下yii
item 默認maven
source code ${baseDir}/src/main/java工具
resources ${baseDir}/src/main/resources
tests ${baseDir}/target/classes
complied byte code ${baseDir}/src/test
distributable JAR ${baseDir}/target
3. Maven環境配置
maven是基於java的工具,因此要求必須安裝有JDK。
3.1 安裝jdk,設置環境變量,網上教程不少
驗證java jdk是否安裝成功,打開控制檯,輸入 java -version,以下圖表示安裝成功
3.2 安裝maven,設置環境變量,網上教程不少
maven能夠從官網 http://maven.apache.org/download.htmll 直接下載
驗證maven安裝成功,打開控制檯,輸入 mvn -version,以下圖表示安裝成功
4. maven pom
pom表示項目對象模型,它是maven的基本單位,是一個xml文件。
它包含了項目使用maven來構建該項目和各類配置的詳細信息。
建立一個pom以前,咱們應該先肯定項目組Id(groupId)、項目名字(artifactId)、項目版本(version)等信息,這些屬性在倉庫中能夠惟一標識該項目。
例子:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.readygo</groupId> <artifactId>ZBSW</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>ZBSW Maven Webapp</name> <url>http://maven.apache.org</url> </project>
全部的pom文件要求項目元素必須有三個字段groupId、artifactId和version。以下:
<!-- oracle --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.1.0.7.0</version> </dependency> <!-- commons-fileupload --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency>
5. maven構建配置文件
生成配置文件能夠用來設置或覆蓋maven構建配置值的默認值。
默認的配置文件有三個
文件名稱 描述
env.properties default configuration used if no profile is mentioned.
env.test.properties test configuration when test profile is used.
env.prod.properties production configuration when prod profile is used.
顯示激活配置文件
<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.5</version> </dependency>
經過maven設置激活配置文件
打開maven的settings.xml文件能夠在%user_home%, .m2目錄表示用戶的主目錄。經過在settings.xml文件中激活配置文件。
6. maven資源庫
maven資源庫是存放項目中全部jar包的地方,maven庫有三種類型:
local
central
remote
本地庫
maven本地庫是每一個人本身計算機上的某個文件夾,當該maven項目第一次運行時,被建立。
當運行maven項目時,它會將該項目全部的依賴jar包都下載到本地。
maven本地存儲庫默認狀況是建立在%user_home%目錄,若是須要覆蓋默認位置,則能夠修改settings.xml文件,以下圖
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository>C:/MyLocalRepository</localRepository> </settings>
中央存儲庫
maven的中央存儲庫是由maven社區提供的資源庫,當maven在本地庫沒有找到依賴包,則自動去中央存儲庫查找。
遠程倉庫
這是開發商自定義的庫,須要該庫的用戶能夠設置本身的maven項目鏈接到遠程倉庫。
maven的依賴搜索序列
當咱們執行maven構建命令時,maven的依賴庫按照如下順序開始尋找:
1> 搜索本地資源庫,若是沒找到到第二步
2>搜索中央存儲庫,若是沒找到,要麼報錯、要麼去第三步(若是設置了遠程倉庫)
3>若是沒找到,則拋出異常(找不到依賴包)。
7. maven插件
maven其實是一個插件框架,每個任務都是由插件完成的。
8. myeclipse下建立maven項目
網上例子不少
9. 運行maven命令
在myeclipse中建立好maven項目後,右鍵-->run as-->maven build。