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使用如下所示的标准目录布局 -

Java应用程序项目结构

使用上面的例子,我们可以理解以下关键概念 -

序号 文件夹结构和说明
1 consumerBanking 包含src文件夹和pom.xml
2 src/main/java 在包结构(com / companyName / bank)下包含java代码文件。
3 src/main/test 包含包结构(com / companyName / bank)下的测试java代码文件。
4 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构建和测试项目来构建和测试项目。