Maven

Maven

1.1 什麼是 Mavencss

Maven 的正確發音是[ˈmevən],而不是「馬瘟」以及其餘什麼瘟。Maven 在美國是一個口語化的詞
語,表明專家、內行的意思。
一個對 Maven 比較正式的定義是這麼說的:Maven 是一個項目管理工具,它包含了一個項目對象模
型 (POM:Project Object Model),一組標準集合,一個項目生命週期(Project Lifecycle),一個依賴管
理系統(Dependency Management System),和用來運行定義在生命週期階段(phase)中插件(plugin)目標
(goal)的邏輯。java

 Maven 是項目管理工具 對軟件項目提供構建與依賴管理web

Maven是Apache下的Java開源項目spring

 

1.2Maven 核心特性apache

項目設置遵循統一的規則,保證不一樣開發環境的兼容性服務器

強大的依賴管理,項目依賴組件自動下載、自動更新app

可擴展的插件機制,使用簡單,功能豐富webapp

Maven 的依賴管理:傳統工程jar包放在項目中,maven開發的工程根據jar的座標找到jar倉庫。maven

倉庫檢索網站https://search.maven.org/ide

項目的一鍵構建:咱們的項目,每每都要經歷編譯、測試、運行、打包、安裝 ,部署等一系列過程。指的是項目從編譯、測試、運行、打包、安裝 ,部署整個過程都交給 maven 進行管理,這個過程稱爲構建。

 Maven 的使用

1.官網下載:Maven – Download Apache Maven

下載第二個

2.解壓到D盤

3.添加環境變量

    變量名:MEVEN_HOME

    變量值:D:\apache-maven-3.8.1

    在Path中添加:%MANEN_HOME%\bin

    確保環境變量中有JAVAHOME

4.打開命令行窗口 輸入mvn -v

maven項目標準目錄結構

src/main/java目錄     核心代碼
src/main/resources 配置文件部分
src/test/java目錄 測試代碼部分,如 JUnit 測試類
src/test/resources 測試配置文件,如 spring, hibernate 配置文件
src/main/webapp 頁面資源 ,js,css,圖片等等
target 項目輸出的目錄,用於存儲jar,war文件
target/classes 字節碼(.class)的編譯輸出目錄
pom.xml maven 項目核心配置文件

 

Maven經常使用命令

命令 用途
mvn archetype:generate 建立Maven工程結構
mvn compile 編譯源代碼
mvn test 執行測試用例
mvn clean 清除產生的項目
mvn package 項目打包
mvn install 安裝至本地倉庫

1.clean
clean 是 maven 工程的清理命令,執行 clean 會刪除 target 目錄及內容。

2.compile
compile 是 maven 工程的編譯命令,做用是將 src/main/java 下的文件編譯爲 class 文件輸出到 target
目錄下。

3.test
test 是 maven 工程的測試命令 mvn test,會執行 src/test/java 下的單元測試類。也會編譯src/main/java的代碼

4.package
package 是 maven 工程的打包命令,對於 java 工程執行 package 打成 jar 包,對於 web 工程打成 war
包。

5.install
install 是 maven 工程的安裝命令,執行 install 將 maven 打成 jar 包或 war 包發佈到本地倉庫。會執行compile,test,package,把項目放在了本地倉庫

Maven生命週期

Maven概念模型

項目對象模型 (Project Object Model)
一個 maven 工程都有一個 pom.xml 文件,經過 pom.xml 文件定義項目的座標、項目依賴、項目信息、
插件目標等。

賴管理系統(Dependency Management System)
經過 maven 的依賴管理對項目所依賴的 jar 包進行統一管理。
好比:項目依賴 junit4.9,經過在 pom.xml 中定義 junit4.9 的依賴即便用 junit4.9,以下所示是 junit4.9
的依賴定義:

<!-- 依賴關係 -->
<dependencies>
	<!-- 此項目運行使用 junit,因此此項目依賴 junit -->
	<dependency>
		<!-- junit 的項目名稱 -->
		<groupId>junit</groupId>
		<!-- junit 的模塊名稱 -->
		<artifactId>junit</artifactId>
		<!-- junit 版本 -->
		<version>4.9</version>
		<!-- 依賴範圍:單元測試時使用 junit -->
		<scope>test</scope>
</dependency>

 Maven座標

 GroupId:機構或者團體的英文,採用 逆向域名 形式書寫

ArtifactId:項目名稱 說明其用途,例如:cms,oa...
Version: 版本號,通常採用 版本+單詞 形式  例如1.1.0.RELEASE 

 idea 開發 maven 項目

1 打開FileSettings 配置 maven

在沒網時會加載本地的

2 idea 中建立一個 maven 骨架的 Java工程

3 idea 中建立一個 maven 骨架的 web工程

Maven國內服務器

maven.aliyun.com    倉庫服務 (aliyun.com)

1.選擇public

2.在版本下添加依賴

<repositories>
    <repository>
        <!--建立私服-->
        <id>aliyun</id>
        <name>aliyun</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </repository>
</repositories>
相關文章
相關標籤/搜索