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),就像這樣:
使用上面的例子,我們可以知道下面幾個關(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)建 & 測試工程。
更多建議: