【手把手教你Maven】構建過程

Maven是一款進行 依賴管理、項目構建、信息管理 爲一體的工具。java

它不像Make具備複雜的命令、也不像Ant須要手動編寫大量的重複代碼就能進行項目的構建;apache

還能提供強大的依賴庫管理,避免jar包混亂與衝突;windows

還能夠方便的管理項目的信息、知識產權等內容。maven

本篇的寫做目的在於幫助那些以前沒有使用過,或者是對maven尚未太多概念的朋友,學會使用maven,利用maven進行項目的構建。工具

經過講解Maven的下載、安裝、編寫、執行任務,快速體驗Maven的工做模式與使用技巧...單元測試

下載

目前高版本的Eclipse已經集成了Maven,可是考慮到插件的穩定性,仍是推薦使用本身安裝的Maven(須要在Eclipse中進行綁定)。學習

手動安裝須要在官網下載Maven,目前最新的版本是3.3.9:http://maven.apache.org/download.cgi測試

通常windows下的用戶下載這個zip就能夠了,若是要學習源碼,能夠下載src那版的。ui

安裝

1 首先須要安裝JDK,在命令行中輸入java -version驗證版本:編碼

2 而後解壓下載好的壓縮包:

3 配置環境變量

在「環境變量」中配置:

M2_HOME:xxxx/apache-maven-3.3.9 在path中添加:";%M2_HOME%/bin"

4 在命令行中輸入 mvn -v測試

編寫

若是使用過Ant都知道Ant是經過build.xml執行構建任務的,Maven中是經過pom.xml來執行任務。

POM,project object model,即項目對象模型,它經過這個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.xinoo.test</groupId>
    <artifactId>first-maven</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>First Maven Project</name>
</project>

第一行指定了文檔的XML版本和編碼

第二行即每一個pom.xml的核心元素——project

project下面有幾個子元素,這幾個子元素通常是每一個項目都會使用到的:

1 modelVersion  這個元素指定了POM的版本,Maven2或者Maven3 都只能是4.0.0

2 groupId 是項目組的ID,通常是com.公司組織名.項目名

3 artifactId 是該項目在項目組中的ID,好比當前的項目是項目組的一個代理項目,就能夠叫作myproxy

4 version 是項目的版本號,用於維護項目的升級和發佈

5 name 通常沒有實際的用處,只是用於標識該項目

比較重要的參數是 groupId、artifactId、version,這三個屬性肯定惟一的一個項目。

執行任務

通常的Maven項目會包含這樣一個目錄樹:

project |-src--main--java--你的源代碼 | |--test----java--你的單元測試代碼 |-target--編譯出的文件和jar包 |-pom.xml--項目信息以及任務定義

所以咱們在上面的pom.xml同級目錄中,建立

src/main/java/com/xingoo/test/firstmaven 文件夾

而後再該文件夾中建立HelloWorld.java

package com.xingoo.test.firstmaven; public class HelloWorld{ public String sayHello(){ return "Hello Maven"; } public static void main(String[] args){ System.out.println(new HelloWorld().sayHello()); } }

而後再pom.xml所在的目錄中運行mvn clean compile命令:

會發現目錄中多了一個target文件夾,文件夾中增長了兩個文件夾:

其中classes中是java編譯出的class文件、maven-status是依賴的compile插件。

參考

【1】最後的任務執行樣例:百度雲盤文件mvn1127.zip

【2】《Maven實戰》:百度雲盤文件Maven實戰教程

相關文章
相關標籤/搜索