Maven3
1.Maven認知
Maven 是一個項目管理工具。可以通過一段描述信息很方便的管理項目報告,生成站點,管理JAR文件,等等。
Maven 以“程序構建能力”為特色,還提供高級項目管理工具。Maven 的“缺省構建規則”具有較高的可重用性。
一個完整的Maven包括:
當使用 Maven 時,用一個明確的 pom 來描述項目,然后 Maven 利用橫切的邏輯,這些邏輯來自一組共享的(或者自定義)的插件。
Maven 的生命周期在運行 mvn install 時被調用。這條命令告訴 Maven 執行一系列的有序的步驟,直到到達指定的生命周期。
在此期間,Maven 運行了許多默認的插件目標,包括“編譯”和創建一個JAR文件,通俗地說,不需要再手動點擊編譯運行按鈕。
2.Maven?的安裝與配置
Maven 下載:http://maven.apache.org/download.cgi
pom.xml?文件
<!-- modelVersion:POM 模型版本 4.0.0 固定groupId:一般指某個公司或者某個組織的某個項目 比如 org.springframeworkartifactId:一般指某個具體項目的某個具體模塊 比如 spring-contextVersion:項目的版本 --><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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.java1234.HelloWorld</groupId><artifactId>HelloWorld</artifactId><version>0.0.1-SNAPSHOT</version><dependencies> <!--Mvn 遠程倉庫 注入相應依賴--> </dependencies>
</project>
-
Maven 常見命令
- Mvn compile 編譯
- Mvn clean 清空
- Mvn test 測試
- Mvn package 打包
- Mvn install 把項目安裝到本地倉庫
-
Mvn 遠程倉庫地址:
- http://mvnrepository.com/
-
Maven 本地倉庫遷出 C 盤:配置 setting 文件
<localRepository>D:\maven\repository</localRepository>
3. m2eclipse 插件安裝
?打開 Eclipse,點擊菜單 Help - > Install New Software 點擊 Add 按鈕
- Name:m2e
- location: http://download.eclipse.org/technology/m2e/releases
(由于最新版的 Eclipse 代號 Mars,已經直接集成了 Maven,所以無需在安裝 m2eclipse 插件)
配置:
Windows -> preference -> moven ->勾選以下兩項!
4. Maven?核心技術
1.Maven 倉庫概念
-
- Maven 遠程倉庫配置文件: $M2_HOME/lib/maven-model-builder-3.3.3.jar
- 文件:org\apache\maven\model\pom-4.0.0.xml <repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
?
2.Maven 的依賴特性:
依賴選擇按照:“最短路徑原則” 和 “最先聲明原則”
3.Maven 聚合和繼承特性
5.Maven 依賴范圍
classpath 分為3種:
Scope 依賴范圍選項:
-
-
- Compile:編譯依賴范圍,默認就是compile。在編譯、測試、運行均有效;
- Test:測試依賴范圍。僅在測試有效,如JUnit;
- Provided:已提供依賴范圍。編譯、測試有效,運行時無效,如servlet-api;
- ystem:系統依賴范圍。使用system范圍的依賴必須通過systemPath指定依賴文件的路徑;
- Import:導入依賴范圍。使用dependencyManagement時,可以導入依賴配置。
-
5. Maven 生命周期與插件
Maven 通過插件的方式來完成一系列過程來實現功能。
Maven 擁有三套獨立的生命周期:
?
Clean 生命周期
-
- pre-clean:執行一些清理前需要完成的工作
- clean:清理上一次構建生成的文件
- post-clean:執行一些清理后需要完成的工作
Default 生命周期
-
- 1,validate;
- 2,initialize;
- 3,generate-sources;
- 4,process-sources;
- 5,generate-resources;
- 6,process-resources;
- 7,compile;
- 8,process-classes;
- 9,generate-test-sources;
- 10,process-test-sources;
- 11,generate-test-resources;
- 12,test-compile;
- 13,process-test-classes;
- 14,test;
- 15,prepare-package;
- 16,package;
- 17,pre-integration-test;
- 18,integration-test;
- 19,post-integration-test;
- 20,integration-test;
- 21,post-integration-test;
- 22,verifty;
- 23,install;
- 24,deploy;
Site 生命周期
-
- pre-site:
- site:
- post-site:
- site-deploy:
書籍推薦:《Maven實戰》許曉斌 著
?
轉載于:https://www.cnblogs.com/Cocoomg/p/9864877.html
總結
- 上一篇: 内存泄露问题改进(转自vczh)
- 下一篇: UVa122-Trees on the