使用Archetype生成项目骨架

手动创建Maven项目时,要遵守Maven的约定:在项目的根目录中放置pom.xml,在src/main/java目录中放置项目的主代码,在src/test/java中放置项目的测试代码。最初我们一步一步地做这些时,可以得到对Maven最实际的感受。我们把这些基本的目录结构和pom.xml文件内容称为项目的骨架,当第一次创建项目骨架的时候,你还会饶有兴趣的去体会这些默认约定背后的思想,第二次,第三次,你也许还会满意自己的熟练程度,但第四、第五次做同样的事情,你可能就会恼火了。为此Maven提供了Archetype以帮助我们快速勾勒出项目骨架。

以Maven 3为例,选定一个项目工作目录,简单地运行:

mvn archetype:generate

如果是Maven 2,最好运行如下命令:

mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-5:generate

之所以Maven 2不使用第一个命令,是因为简单的命令没有指定Archetype插件的版本,于是Maven会自动去下载最新的版本,进而可能得到不稳定的SNAPSHOT版本,导致运行失败。然而在Maven 3中,即使用户没有指定版本,Maven也只会解析最新的稳定版本,因此这是安全的。

运行命令后,会看到一段长长的输出,有很多可用的Archetype共选择,每个Archetype前面都会对应一个编号,同时命令行会提示一个默认的编号,其对应的Archetype为maven-archetype-quickstart,直接回车以选择该Archetype,紧接着Maven会提示输入要创建项目的groupId、artifactId、version以及包名package。

Archetype插件将根据我们提供的信息创建项目骨架。在当前目录下,Archetype插件会创建一个以我们定义的artifactId命名的子目录,从中可以看到项目的基本结构:基本的pom.xml已经被创建,里面包含了必要的信息以及一个junit依赖;主代码目录src/main/java已经被创建;测试代码目录src/test/java也被创建好了。

这里仅仅是一个最简单的Archetype,如果有很多项目拥有类似的自定义项目结构以及配置文件,则完全可以一劳永逸地开发自己的Archetype,然后在这些项目中使用自定义的Archetype来快速生成项目骨架。

上一篇:使用maven创建工程


下一篇:maven Archetype