Maven學習筆記1-QuickStart

使用archetype插件生成項目骨架

學習工具最好的方法就是去使用它。在這裏maven提供了一個插件來快速生成一個基本的項目骨架,在命令行中輸入

mvn archetype:generate -DgroupId=com.maven -DartifactId=hello-world 
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

這裏-DpropertyName = propertyValue 類似鍵值對的形式,是向archetype插件的generate任務配置參數,groupId 指定了項目的所在公司及項目組的名稱,寫法和包名類似,artifactId指定了本項目所在模塊的名稱,archetypeArtifactId則指定了項目骨架的類型,interactiveMode則指定了是否以交互模式創建項目,所謂交互模式即爲在創建時提示你輸入groupId,artifactId,archetypeArtifactId等必要參數。此處還有一項重要參數未寫出,PackageName,它指定了項目中自動生成的包的名稱,若不指定將默認使用groupId的值。命令行在提示一系列構建的信息後,在當前目錄下就會新建一個名爲hello-world的Maven項目。

hello-world基本目錄結構

-hello-world
    -src    
        -main
            -java   
        -test
            -java
    -target
    -pom.xml
  1. Maven Archtype插件創建了一個與artifactId匹配的目錄——hello-world。這是項目的基礎目錄。

  2. 每個項目在根目錄下面的pom.xml裏維護了它的項目對象模型 (POM)。這個文件描述了這個項目,配置了插件,聲明瞭依賴。

  3. 項目的源碼和資源文件存放在src/main目錄下面。在一個Java項目中,Java類放在src/main/java下面,而classpath資源文件放在src/main/resources下面。

  4. 我們項目的測試用例放在src/test下。在這個目錄下面,src/test/java存放像使用JUnit或者TestNG這樣的Java測試類。目錄src/test/resources下存放測試classpath資源文件。

  5. target目錄存放項目的編譯輸出,如class文件。

項目自動創建的示例代碼

在項目根目錄下能夠找到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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.maven</groupId>
  <artifactId>hello-world</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <name>hello-world</name>
  <url>http://maven.apache.org</url>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

在pom文件中,groupId、artifactId、packaging、version定義了項目的基本信息,dependency元素定義了項目的依賴,可以注意到依賴的基本信息與項目的基本信息格式相同,也就是說只要我們定義了項目的基本信息後,能夠被其他項目在pom文件中引入。
在src/main/java下面存放了項目的示例代碼, 在com.maven包下面可以看到示例代碼App.java

package com.maven;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

與此同時,在src/test/java下面存放了項目的測試代碼,在com.maven包下面可以看到示例AppTest.java,此處省略。
以上代碼均由Maven項目骨架QuickStart自帶。

構建hello-world項目

在hello-world項目根目錄下運行命令

mvn install

Maven會自動執行編譯、測試、打包、安裝等任務,實現了一鍵構建的功能。在命令行驗證程序

java -cp target/hello-world-1.0-SNAPSHOT.jar com.maven.App

能夠看到命令行輸入經典的“Hello World!”

小結

本文講述瞭如何快速新建一個Maven項目,介紹了基本的Maven目錄結構和構建命令。

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