Apache Maven 創(chuàng)建工程

2022-08-30 16:50 更新

Maven 使用原型(archetype)插件創(chuàng)建工程。要創(chuàng)建一個簡單的 Java 應用,我們將使用 maven-archetype-quickstart 插件。在下面的例子中,我們將在 C:\MVN 文件夾下創(chuàng)建一個基于 maven 的 java 應用工程。


我們打開命令控制臺,跳轉(zhuǎn)到 C:\MVN 目錄,并執(zhí)行下面的 mvn 命令。

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

Maven 將開始處理,并將創(chuàng)建完成的 java 應用工程結(jié)構(gòu)。

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:\MVN\consumerBanking
[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] ------------------------------------------------------------------

現(xiàn)在跳轉(zhuǎn)到 C:/MVN 目錄。有將看到一個名為 consumerBanking 的 java 應用工程(就像在 artifactId 中設(shè)定的一樣)。Maven 使用一套標準的目錄結(jié)構(gòu),就像這樣:

Java application project structure

使用上面的例子,我們可以知道下面幾個關(guān)鍵概念:

文件夾結(jié)構(gòu) 描述
consumerBanking 包含 src 文件夾和 pom.xml
src/main/java contains java 代碼文件在包結(jié)構(gòu)下(com/companyName/bank)。
src/main/test contains 測試代碼文件在包結(jié)構(gòu)下(com/companyName/bank)。
src/main/resources 包含了 圖片 / 屬性 文件(在上面的例子中,我們需要手動創(chuàng)建這個結(jié)構(gòu))。

Maven 也創(chuàng)建了一個簡單的 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 );
    }
}

開發(fā)人員需要將他們的文件按照上面表格中提到的結(jié)構(gòu)放置好,接下來 Maven 將會搞定所有構(gòu)建相關(guān)的復雜任務。

在下個章節(jié)中,我們將討論如何使用 maven 構(gòu)建和測試工程:Maven - 構(gòu)建 & 測試工程。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號