这里要使用Maven的achetype机制,一个achetype被定义成一个原始的模式或者模型。在Maven里,archetype是一个项目的模板,通过这个模板,再加上一些用户的输入就产生了一个可以工作的、符合用户需要的Maven项目。 
下面开始创建第一个项目,执行一下命令行: 
Mvn archetype:create –DgroupId=com.mycompany.app –DartifactId=my-app 
一旦执行了以上命令,你会发现maven为这个新项目创建了一个名为my-app的目录,同时此目录中有一个pom.xml文件,文件内容如下所示: 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
   <modelVersion>4.0.0 </modelVersion> 
   <groupId>com.mycompany.app </groupId> 
   <artifactId>my-app </artifactId> 
   <packaging>jar </packaging> 
   <version>1.0-SNAPSHOT </version> 
   <name>Maven Quick Start Archetype </name> 
   <url>http://maven.apache.org </url> 
   <dependencies> 
     <dependency> 
       <groupId>junit </groupId> 
       <artifactId>junit </artifactId> 
       <version>3.8.1 </version> 
       <scope>test </scope> 
     </dependency> 
   </dependencies> 
</project> 
Pom.xml包含项目对象模型(POM)。POM是Maven的基本单元,记住,Maven是以项目为中心的,所有的东西都围绕项目展开。简而言之,POM包含项目的所有重要信息,并且本质上提供了一站式的项目信息。关于pom的详细介绍,请参考《POM介绍》。 
下面是pom中的一些重要元素: 
Ø       project:pom.xml文件中的顶层元素; 
Ø       modelVersion:指明POM使用的对象模型的版本。这个值很少改动。
Ø       groupId:指明创建项目的组织或者小组的唯一标识。GroupId是项目的关键标识,典型的,此标识以组织的完全限定名来定义。比如,org.apache.maven.plugins是所有Maven插件项目指定的groupId。 
Ø     
artifactId:指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个JAR文件。第二,象源代码包通常使用artifactId作为最
后名称的一部分。典型的产品名称使用这个格式: <artifactId>- <version>.
<extension>(比如:myapp-1.0.jar)。 
Ø       version:项目产品的版本号。Maven帮助你管理版本,可以经常看到SNAPSHOT这个版本,表明项目处于开发阶段。 
Ø       name:项目的显示名称,通常用于maven产生的文档中。 
Ø       url:指定项目站点,通常用于maven产生的文档中。 
Ø       description:描述此项目,通常用于maven产生的文档中。
POM中所有元素的说明,请参考《POM参考》。 
产生了第一个项目的archetype后,你可以发现maven为你创建了如下的目录结构: 
my-app 
|-- pom.xml 
`-- src 
    |-- main 
    |   `-- java 
    |       `-- com 
    |           `-- mycompany 
    |               `-- app 
    |                   `-- App.java 
    `-- test 
        `-- java 
            `-- com 
                `-- mycompany 
                    `-- app 
                        `-- AppTest.java 
从archetype产生的项目有一个POM,一个源代码树,以及一个测试代码树,这是maven项目的标准布局(应用程序源码位
于${basedir}/src/main/java,而测试源码位于${basedir}/src/test/java,这里${basedir}代表
包含pom.xml的根目录)。