Maven使用原型插件来创建项目。要创建一个简单的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:\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] ------------------------------------------------------------------
现在去到C:/ MVN目录。将看到创建了一个Java应用程序项目命名consumerBanking(如artifactId规定)。 Maven使用标准的目录结构如下图所示:
用上面的例子中,我们可以了解到以下关键概念
文件夹结构描述
consumerBanking
contains src folder and pom.xml
src/main/java
contains java code files under the package structure (com/companyName/bank).
src/main/test
contains test java code files under the package structure (com/companyName/bank).
src/main/resources
it contains images/properties files (In above example, we need to create this structure manually).
Maven还创建了一个示例Java源文件和Java测试文件。打开C:\MVN\consumerBanking\src\main\java\com\companyname\bank文件夹,会看到App.java。
packagecom.companyname.bank;/**
* Hello world!
*
*/publicclassApp{publicstaticvoidmain(String[]args ){System.out.println("Hello World!");}}
打开 C:\MVN\consumerBanking\src\test\java\com\companyname\bank 文件夹, 你会看到 AppTest.java.
packagecom.companyname.bank;importjunit.framework.Test;importjunit.framework.TestCase;importjunit.framework.TestSuite;/**
* Unit test for simple App.
*/publicclassAppTestextendsTestCase{/**
* Create the test case
*
* @param testName name of the test case
*/publicAppTest(StringtestName ){super(testName );}/**
* @return the suite of tests being tested
*/publicstaticTestsuite(){returnnewTestSuite(AppTest.class);}/**
* Rigourous Test :-)
*/publicvoidtestApp(){assertTrue(true);}}
开发人员把他们的文件在提到上述表格和Maven处理所有构建相关的复杂性。
在下一节中,我们将讨论如何使用Maven来构建和测试项目:Maven构建和测试项目.