Maven的安裝

Apache Maven 是做什麼用的?

Maven 是一個項目管理和構建自動化工具。但是對於我們程序員來說,我們最關心的是它的項目構建功能。所以這裏我們介紹的就是怎樣用 maven 來滿足我們項目的日常需要。
Maven 使用慣例優於配置的原則 。它要求在沒有定製之前,所有的項目都有如下的結構:

目錄

目的

${basedir}

存放 pom.xml和所有的子目錄

${basedir}/src/main/java

項目的 java源代碼

${basedir}/src/main/resources

項目的資源,比如說 property文件

${basedir}/src/test/java

項目的測試類,比如說 JUnit代碼

${basedir}/src/test/resources

測試使用的資源 

一個 maven 項目在默認情況下會產生 JAR 文件,另外 ,編譯後 的 classes 會放在 ${basedir}/target/classes 下面, JAR 文件會放在 ${basedir}/target 下面。
這時有人會說了 , Ant 就沒有那麼多要求 ,它允許你可以自由的定義項目的結構。在這裏不想引起口水戰哈, 我個人覺得 maven 的這些默認定義很方便使用。 
好了 ,接下來我們來安裝 maven 。

Maven 的安裝

在安裝 maven 前,先保證你安裝了 JDK 。 JDK 6 可以從 Oracle 技術網上下載:
http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html
Maven 官網的下載鏈接是 : http://maven.apache.org/download.html
該頁的最後給出了安裝指南。

安裝完成後,在命令行運行下面的命令:  

$ mvn -v 
Apache Maven 3.0.3 (r1075438; 2011-03-01 01:31:09+0800)
Maven home: /home/limin/bin/maven3
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Java home: /home/limin/bin/jdk1.6.0_24/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.35-28-generic-pae", arch:"i386", family: "unix"

如果你看到類似上面的輸出的話,就說明安裝成功了。
接下來我們用 maven 來建立最著名的“HelloWorld!”程序 :)
注意:如果你是第一次運行 maven,你需要 Internet連接,因爲 maven 需要從網上下載需要的插件。   
我們要做的第一步是建立一個 maven 項目。在 maven 中,我們是執行 maven 目標 (goal) 來做事情的。
maven 目標和 ant 的 target 差不多。在命令行中執行下面的命令來建立我們的 hello world 項目

  ~$mvnarchetype:generate -DgroupId=com.mycompany.helloworld -DartifactId=helloworld-Dpackage=com.mycompany.helloworld -Dversion=1.0-SNAPSHOT

archetype:generate 目標會列出一系列的 archetype 讓你選擇。 Archetype 可以理解成項目的模型。 Maven 爲我們提供了很多種的項目模型,包括從簡單的 Swing 到複雜的 Web 應用。我們選擇默認的 maven-archetype-quickstart ,是編號 #106 (windows下是 932),如下圖所示:


連打兩個回車,這時候讓你確定項目屬性的配置,

這些屬性是我們在命令行中用 -D 選項指定的。該選項使用 -Dname=value 的格式。回車確認,就完成了項目的建立,如下圖所示:


這時候我們看一下 maven 給我們建立的文件目錄結構:


maven 的 archetype 插件建立了一個 helloworld 目錄,這個名字來自 artifactId 。在這個目錄下面,有一個 Project Object Model(POM) 文件 pom.xml 。這個文件用於描述項目,配置插件和管理依賴關係。
源代碼和資源文件放在 src/main 下面,而測試代碼和資源放在 src/test 下面。

Maven 已經爲我們建立了一個 App.java 文件:

Java代碼

   package com.mycompany.helloworld;     

   public class App {   

       public static void main( String[] args ) {   

           System.out.println( "Hello World!" );   

        }   

    }  

package com.mycompany.helloworld;

public class App {

    public static void main(String[] args ) {

        System.out.println("Hello World!" );

    }

}

 正是我們需要的 Hello World 代碼。所以我們可以構建和運行這個程序了。用下面簡單的命令構建:

~$cd helloworld

~$mvn package 

 

當你第一次運行 maven 的時候,它會從網上的 maven 庫 (repository) 下載需要的程序,存放在你電腦的本地庫 (local repository) 中,所以這個時候你需要有 Internet 連接。Maven 默認的本地庫是 ~/.m2/repository/ ,在 Windows 下是 %USER_HOME%\.m2\repository\ 。


如果構建沒有錯誤的話,就會得到類似下面的結果:


這個時候, maven 在 helloworld 下面建立了一個新的目錄 target/ ,構建打包後的 jar 文件 helloworld-1.0-SNAPSHOT.jar 就存放在這個目錄下。編譯後的 class 文件放在 target/classes/ 目錄下面,測試 class 文件放在 target/test-classes/ 目錄下面。

 爲了驗證我們的程序能運行,執行下面的命令:

 ~$java -cptarget/helloworld-1.0-SNAPSHOT.jar com.mycompany.helloworld.App


運行成功!!

現在你可能會有不少的問題。所以下一篇文章會解釋 maven 的核心概念,希望能回答你可能會有的一些疑問。
發佈了19 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章