什么是Maven插件?
Maven使用archetype插件来创建项目。为了创建一个简单的Java应用程序,我们将使用maven-archetype-quickstart插件。在下面的示例中,我们将在C\MVN文件夹中创建一个基于Maven的Java应用程序项目。让我们打开命令控制台,转到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目录。您将看到创建了一个名为Consumer Banking的Java应用程序项目(在artifactId中指定)。Maven使用标准目录布局,如下所示-
使用上面的示例,我们可以了解以下关键概念
- consumerBanking - 包含src文件夹和pom.xml
- src/main/java - 在程序包结构(com/companyName/bank)下包含Java代码文件。
- src/main/test - 在程序包结构(com/companyName/bank)下包含测试Java代码文件。
- src/main/resources - 它包含图像/属性文件(在上面的示例中,我们需要手动创建此结构)。
如果进行观察,您会发现Maven还创建了一个示例Java源文件和Java Test文件。打开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构建和测试项目。