Maven建立Java專案


Maven使用 archetype 來建立專案。要建立一個簡單的 Java 應用程式,我們使用 maven-archetype-quickstart 外掛。在下面的例子中,我們將建立一個基於Maven 的 Java 應用程式專案在 C:\MVN 檔案夾。

讓我們開啟命令控制台,進入到 C:\MVN 目錄並執行以下命令 mvn 命令。

C:MVN>mvn archetype:generate
-DgroupId=com.companyname.bank 
-DartifactId=consumerBanking 
-DarchetypeArtifactId=maven-archetype-quickstart 
-DinteractiveMode=false

Maven會開始處理,並建立完整的 Java應用程式專案結構。

INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] -------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [archetype:generate] (aggregator-style)
[INFO] -------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] [archetype:generate {execution: default-cli}]
[INFO] Generating project in Batch mode
[INFO] -------------------------------------------------------------------
[INFO] Using following parameters for creating project 
 from Old (1.x) Archetype: maven-archetype-quickstart:1.0
[INFO] -------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.companyname.bank
[INFO] Parameter: packageName, Value: com.companyname.bank
[INFO] Parameter: package, Value: com.companyname.bank
[INFO] Parameter: artifactId, Value: consumerBanking
[INFO] Parameter: basedir, Value: C:MVN
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:MVNconsumerBanking
[INFO] ------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------
[INFO] Total time: 14 seconds
[INFO] Finished at: Tue Jul 10 15:38:58 IST 2012
[INFO] Final Memory: 21M/124M
[INFO] ------------------------------------------------------------------

現在進入到 C:\MVN 目錄。將看到建立了一個 Java應用程式專案,並命名為 consumerBanking(如:artifactId 指定)。 Maven 使用標準目錄結構,如下圖所示:

Java application project structure

用上面的例子中,我們可以了解到以下關鍵概念

檔案夾結構 描述
consumerBanking 包括 src 目錄和 pom.xml
src/main/java 包含封裝結構下的 Java 程式碼的檔案 (com/companyName/bank)
src/main/test 包含封裝結構下的文字Java 測試程式碼檔案 (com/companyName/bank)
src/main/resources 它包含圖片/屬性檔案(在上面的例子中需要手動建立這個結構)

Maven 還建立了一個範例 Java 原始檔和 Java 測試檔案。開啟 C:\MVN\consumerBanking\src\main\java\com\companyname\bank  檔案夾,會看到 App.java 如下所示程式碼:

package com.companyname.bank;

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

開啟 C:\MVN\consumerBanking\src\test\java\com\companyname\bank 檔案夾,就會看到 AppTest.java 

package com.companyname.bank;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest extends TestCase 
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

開發人員需要建立如上表所述檔案,Maven將處理所有構建。

在下一節中,我們將討論如何使用 Maven 來構建和測試專案:Maven構建和測試專案