这里要使用Maven的achetype机制,一个achetype被定义成一个原始的模式或者模型。在Maven里,archetype是一个项目的模板,通过这个模板,再加上一些用户的输入就产生了一个可以工作的、符合用户需要的Maven项目。 下面开始创建{dy}个项目,执行一下命令行: 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:指明创建项目的组织或者小组的{wy}标识。GroupId是项目的关键标识,典型的,此标识以组织的xx限定名来定义。比如,org.apache.maven.plugins是所有Maven插件项目指定的groupId。 Ø artifactId:指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个JAR文件。第二,象源代码包通常使用artifactId作为{zh1}名称的一部分。典型的产品名称使用这个格式: <artifactId>- <version>. <extension>(比如:myapp-1.0.jar)。 Ø version:项目产品的版本号。Maven帮助你管理版本,可以经常看到SNAPSHOT这个版本,表明项目处于开发阶段。 Ø name:项目的显示名称,通常用于maven产生的文档中。 Ø url:指定项目站点,通常用于maven产生的文档中。 Ø description:描述此项目,通常用于maven产生的文档中。 POM中所有元素的说明,请参考《POM参考》。 产生了{dy}个项目的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的根目录)。 |