Maven小試牛刀

1、Maven簡介

一個軟件構建的生命週期有:
清除--> 編譯-->測試-->報告-->打包-->安裝-->部署html

Apache Maven,就是一個一個採用純Java編寫的軟件項目管理及自動構建工具,由Apache軟件基金會所提供。基於項目對象模型(縮寫:POM)概念,Maven利用一箇中央信息片段(pom.xml)能管理一個項目的構建、報告和文檔等步驟。java

Maven也可被用於構建和管理各類項目,例如C#,Ruby,Scala和其餘語言編寫的項目。Maven曾是Jakarta項目的子項目,現爲由Apache軟件基金會主持的獨立Apache項目。shell

2、下載Maven

Maven官網apache

下載Maven

若是速度較慢的話,能夠嘗試在CSDN下載,這裏提供Maven3.5.0的連接
Maven3.5.0windows

下載以後直接將Maven解壓到文件夾便可。後端

3、配置Maven

Maven的運行須要依賴JDK,因此先要確認你是否成功安裝了JDK,打開cmd,輸入java -version
出現如下結果說明配置正確。bash

C:\Users\XXX>java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

若是沒有安裝JDK,能夠參照這篇文章進行安裝配置:JDK安裝與配置maven

接下來進行Maven的配置,
打開控制面板->系統->高級系統設置->環境變量,
在系統變量處加入如下環境變量工具

M2_HOME=你的Maven安裝路徑
M2=%M2_HOME%\bin
MAVEN_OPTS=-Xms256m -Xmx512m

以後在系統變量Path的末尾加入 ;%M2% 便可。測試

以上只針對Windows,其餘系統能夠參照這篇文檔:
極客學院-wiki-Maven環境變量配置

4、運行Maven

打開cmd,輸入mvn -v,若是出現下面的結果,說明已經安裝成功了。

C:\Users\XXX>mvn -v
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00)
Maven home: C:\Program Files\apache-maven-3.5.0\bin\..
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_121\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

5、修改默認倉庫路徑

Maven默認會在${user}/.m2/repository/ (如:C:/Users/XXX/.m2/repository/)目錄下創建倉庫,而C盤一般是系統盤,若是文件過多會影響系統速度,所以須要修改。

打開Maven的安裝路徑,找到conf/settings.xml,在文件中搜索repository,能夠找到如下位置

<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
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->

能夠看到默認的倉庫路徑,咱們在後面添加如下代碼(倉庫路徑根據本身喜愛而定)

<!-- 配置本地maven倉庫路徑 -->
<localRepository>C:/Program Files/apache-maven-3.5.0/repository</localRepository>

6、第一個Maven項目

1.創建如下目錄結構

HelloMaven
|-src
|   |--main 
|   |   |-java
|   |   |-resources
|   |-test
|       |-java
|       |-resources
|-target
|-pom.xml

其中pom.xml文件配置以下

<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>cn.maven</groupId>
    <artifactId>Hello</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <packaging>jar</packaging>
    <name>HelloMaven</name>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.9</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

2.建立java類

src/main/java/cn/maven目錄下新建文件Hello.java
記得保存時要以UTF-8格式保存,內容以下

package cn.maven;

public class Hello{
    public String getValue(){
        return "Hello Maven";
    }
}

3.建立測試類

/src/test/java/cn/maven目錄下新建測試文件TestHello.java,內容以下

package cn.maven;
import org.junit.Test;

public class TestHello {
    @Test
    public void testGetValue(){
        Hello h = new Hello();
        System.out.println(h.getValue());        
    }
}

4.項目編譯與測試

在項目根路徑打開cmd,輸入命令mvn compile

E:\code\maven> mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Hello 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ Hello ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ Hello ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to E:\code\maven\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.397 s
[INFO] Finished at: 2017-07-17T11:05:42+08:00
[INFO] Final Memory: 13M/257M
[INFO] ------------------------------------------------------------------------

出現BUILD SUCCESS說明maven項目編譯成功!
接下來輸入mvn test便可執行maven測試

E:\code\maven> mvn test
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Hello 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ Hello ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ Hello ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ Hello ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ Hello ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to E:\後端視頻\code\maven\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ Hello ---
[INFO] Surefire report directory: E:\後端視頻\code\maven\target\surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running cn.maven.TestHello
Hello Maven
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.039 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.621 s
[INFO] Finished at: 2017-07-17T11:11:47+08:00
[INFO] Final Memory: 15M/264M
[INFO] ------------------------------------------------------------------------

能夠看到測試類裏的結構輸出正確,爲「Hello Maven‘’。

至此,恭喜你已經完成了第一個Maven項目!

感謝您的閱讀,但願能對您有所幫助!

更多關於Maven的文章,請參閱:

[暫無]()

相關文章
相關標籤/搜索