一個軟件構建的生命週期有:
清除--> 編譯-->測試-->報告-->打包-->安裝-->部署html
Apache Maven,就是一個一個採用純Java編寫的軟件項目管理及自動構建工具,由Apache軟件基金會所提供。基於項目對象模型(縮寫:POM)概念,Maven利用一箇中央信息片段(pom.xml)能管理一個項目的構建、報告和文檔等步驟。java
Maven也可被用於構建和管理各類項目,例如C#,Ruby,Scala和其餘語言編寫的項目。Maven曾是Jakarta項目的子項目,現爲由Apache軟件基金會主持的獨立Apache項目。shell
Maven官網apache
若是速度較慢的話,能夠嘗試在CSDN下載,這裏提供Maven3.5.0的連接
Maven3.5.0windows
下載以後直接將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環境變量配置
打開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"
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>
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>
在src/main/java/cn/maven
目錄下新建文件Hello.java
記得保存時要以UTF-8格式保存,內容以下
package cn.maven; public class Hello{ public String getValue(){ return "Hello Maven"; } }
在/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()); } }
在項目根路徑打開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的文章,請參閱:[暫無]()