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

轉載自:http://www.cnblogs.com/xing901022/p/5002037.html

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

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

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

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

還可以方便的管理項目的信息、知識產權等內容。

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

通過講解Maven的下載、安裝、編寫、執行任務,快速體驗Maven的工作模式與使用技巧…

下載

目前高版本的Eclipse已經集成了Maven,但是考慮到插件的穩定性,還是推薦使用自己安裝的Maven(需要在Eclipse中進行綁定)。

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

一般windows下的用戶下載這個zip就可以了,如果要學習源碼,可以下載src那版的。

安裝

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實戰教程

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