Maven入門使用文檔

原創文章,禁止轉載!

一、什麼是Maven
Apache Maven是一個軟件項目管理和綜合工具。基於項目對象模型(POM)的概念,Maven可以從一箇中心資料片管理項目構建,報告和文件。
Maven項目的結構和內容在一個XML文件中聲明,pom.xml 項目對象模型(POM),這是整個Maven系統的基本單元。
Maven提供了開發人員構建一個完整的生命週期框架。開發團隊可以自動完成項目的基礎工具建設,Maven使用標準的目錄結構和默認構建生命週期。
Maven作爲一個構建工具,不僅幫助我們自動化構建,還能抽象構建過程提供構建任務實現;它跨平臺,對外提供了一致的操作接口。
二、爲什麼需要Maven
在多個開發團隊環境時,Maven可以設置按標準在非常短的時間裏完成配置工作。
Maven處理編譯,分配,文檔,團隊協作和其他任務的無縫連接。
Maven增加可重用性並負責建立相關的任務。
Maven是跨平臺的,無論在Windows、Linux、或者是Mac上,都可以使用同樣的命令。
Maven最大化地消除了構建的重複,抽象了構建生命週期,並且爲絕大部分的構建任務提供了已實現的插件。
Maven可以幫助我們標準化構建過程。
Maven幫助我們管理原本散落在項目中各個角落的項目信息。
Maven提供了一個免費的中央倉庫,在其中可以找到任何流行的開源類庫。
Maven對於項目目錄結構、測試用例命名方法等內容都有既定的規則,可以說是約定優於配置。
三、Maven的安裝與配置
1.檢查JDK是否安裝

這裏寫圖片描述

2.下載Maven

請到Maven官網按照自己的需求自行下載。

3.本地安裝

(1)將安裝文件解壓到指定目錄
這裏的安裝目錄是: E:\apache-maven-3.2.5
(2)設置環境變量
右鍵“計算機”,選擇“屬性”,之後點擊“高級系統設置”,點擊“環境變量”,來設置環境變量,有以下系統變量需要配置:
新建系統變量 M2_HOME 變量值:E:\apache-maven-3.2.5(安裝文件的指定目錄)
編輯系統變量 Path 添加變量值: %M2_HOME%\bin(多個值之間用分號隔開)
(3)驗證是否配置成功

這裏寫圖片描述
四、Maven入門(手動創建一個hello-world項目)
1.編寫pom.xml
首先創建一個hello-world的文件夾,打開文件夾,新建一個pom.xml的文件,輸入其內容:

<?xml version="1.0" encoding = "UTF-8"?>
<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.mvn.mvnbook</groupId>
    <artifactId>hello-world</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>Maven Hello World Project</name>
</project>

2.編寫主代碼
Maven主代碼一般放在src/main/java目錄下,在這目錄下新建com/mvn/mvnwork/hello-world文件夾,在這個文件夾下新建HelloWorld.java
代碼內容如下:

package com.mvn.mvnbook.helloworld;
public class HelloWorld{
    public String sayHello(){
    return "HelloMaven!";
}

    public static void main(String[] args){

System.out.print(new HelloWorld().sayHello());
}
}

代碼編寫完畢後,使用Maven進行編譯
打開cmd,在項目根目錄下位置輸入mvn clean compile
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

3.編寫測試代碼

同樣在創建src/test/java目錄,在這目錄下新建com/mvn/mvnwork/hello-world文件夾,在這個文件夾下新建HelloWorldTest.java

(1)首先給項目一個Junit依賴,修改pom.xml
修改後的代碼如下:

<?xml version="1.0" encoding = "UTF-8"?>
<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.mvn.mvnbook</groupId>
    <artifactId>hello-world</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>Maven Hello World Project</name>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <scope>test</scope>
        </dependency>

    </dependencies>
</project>

(2)編寫HelloWorldText.java

package com.mvn.mvnbook.helloworld;

import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class HelloWorldTest{
    @Test
    public void testSayHello(){
        HelloWorld helloWorld = new Helloworld();
        String result = helloWorld.sayHello();
        assertEquals("HelloMaven!",result);

    }
}

(3)調用Maven進行測試
運行 mvn clean test

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

4.打包和運行
(1)打包:Hello-world項目中的pom沒有指定打包的類型,默認使用的是.jar格式,簡單使用mvn clean package進行打包,可以看到如下輸出:

這裏寫圖片描述

類似的,Maven 會在打包之前使用編譯測試等操作。會在target中出現一個根據artifact-version.jar命名的jar包

這裏寫圖片描述

(2)爲了能讓其他的Maven項目直接引用這個jar,需要一個安裝的步驟,執行mvn clean install:

這裏寫圖片描述

(3)爲了生成可執行的jar文件,需要在pom.xml中配置maven-shade-plugin插件
Pom.xml中的代碼如下:

<build>  
    <plugins>  
      <plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-shade-plugin</artifactId>  
    <version>1.4</version>  
    <executions>  
        <execution>  
            <phase>package</phase>  
            <goals>  
                <goal>shade</goal>  
            </goals>  
            <configuration>  
                <transformers>  
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                        <!-- <resource>META-INF/spring.handlers</resource>  --> 
                    </transformer> 
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
                        <mainClass>com.mvn.mvnbook.helloworld.HelloWorld</mainClass>  
                    </transformer>  
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                       <!--  <resource>META-INF/spring.schemas</resource>  --> 
                    </transformer>  
                </transformers>  
            </configuration>  
        </execution>  
    </executions>  
</plugin>    
    </plugins>  
  </build> 

執行mvn clean install:

這裏寫圖片描述
這裏寫圖片描述

在項目根目錄下執行hello-world-1.0-SNAPSHOT.jar文件
執行命令爲:java -jar target\hello-world-1.0-SNAPSHOT.jar,即可得到HelloMaven!的輸出結果。

這裏寫圖片描述

五、使用eclipse新建一個Maven項目

1.檢查eclipse的maven插件是否安裝成功
如果沒有安裝請在此添加:1)點擊Installations –> add 選擇maven安裝目錄,這裏我的Maven安裝目錄爲E:\apache-maven-3.2.5,選擇你的Maven安裝目錄,並點擊確定, 之後可以點擊Apply,點擊OK,即可完成。
這裏寫圖片描述

2)然後,我們在Maven的配置界面,設置User Settings。
Global Settings選擇maven 安裝目錄下conf文件夾下的settings.xml,這裏我的Maven安裝目錄爲E:\apache-maven-3.2.5\conf\settings.xml(這是全局settings)(我的目錄是用戶的settings,配置時可自行選擇,不過推薦使用用戶範圍的settings),選擇你的Maven安裝目錄,檢查Local Repository 項,如果爲D:/maven/repository則配置成功,否則重新配置上一步。

這裏寫圖片描述

2.創建Maven項目
1)我們在Eclipse菜單欄中點擊File->New->Other->Maven,在彈出的對話框中會看到,如下圖所示,點擊next:

這裏寫圖片描述

2)勾選Create a simple project(skip archetype selection),然後點擊next,如下圖:

這裏寫圖片描述

3)填寫Group id和Artifact id,Version默認,Packaging默認爲jar,Name,Description選填,其他的不填。(如果有父級的項目,就填寫下面父級項目的Group id、Artifact id等)

這裏寫圖片描述

4)點擊finish後,eclipse會生成如下項目:

這裏寫圖片描述

5)如果我們想創建一個Maven的web項目,把第三步的Packaging的類型改爲war,之後點擊Finish即可,如圖所示:

這裏寫圖片描述

6)至此,maven項目創建完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章