当前位置: 老葡京网站娱乐 > 编程语言 > 软件工程 > 正文

Maven插件之maven-archetype-plugin

时间:2014-03-29

老葡京网站娱乐 www.sdguanhua.com 学过Maven的人,都知道用MyEclipse的Maven插件生成一个项目骨架,比如maven-archetype-quickstart,这个原型就是最常用的之一。

刚开始使用骨架的时候,感觉很好,减少了重复劳动,提高了开发效率。使用的时间久了,就会发现,Maven Archetype提供的项目骨架不能百分百的满足公司规定的项目结构,不免要手动改些东西。

此时,自然而然的就会想到:如果能将公司(或项目组)规定的项目结构作为一个骨架原型上传个私服,作为模版供项目使用,就无须修改任何的文件。也减少了项目环境搭建时间、降低了出错率等。

简单的创建和使用maven-archetype-plugin的方法,可参考:http://www.colorfuldays.org/tag/archetype/ 写的简单,但是说的很明白。

1、进入模版项目的根目录,执行命令:mvn archetype:create-from-project

生成以该项目为模版的项目原型(archetype),具体的项目结构在target/generated-sources目录下;

注意:生成的archetype包含模板项目中所有的文档,避免冗余,可将多余文件删除,并对其项目结构做一些整理?。?!

a、修改archetype目录下pom.xml,将archetype的名称修改成你喜欢的;

b、可将文件夹改成_rootArtifactId_,这样生成项目结构时,这个目录名称就会变成新的项目名称了;

这些都整理好了之后,可以将其发布到nexus仓库供其它同事使用了,发布的方法如下:

2、在archetype目录下的pom.xml中添加maven仓库配置:

<distributionManagement>

<repository>

<id>releases</id>

<url>http://192.168.10.254:8081/nexus/content/repositories/releases</url>

</repository>

<snapshotRepository>

<id>snapshots</id>

<url>http://192.168.10.254:8081/nexus/content/repositories/snapshots</url>

</snapshotRepository>

</distributionManagement>

3、发布archetype,到${basedir}/target/generated-sources/archetype目录下,执行命令:

mvn deploy

4、使用该原型创建新项目,任意目录下执行命令:

mvn archetype:generate -DarchetypeGroupId=com.ktr -DarchetypeVersion=1.0 -DarchetypeArtifactId=ktr-archetype

注:表格的内容为转载。

以上的方法基于私服(Nexus),如果没有私服,可以参考http://maven.apache.org/archetype/maven-archetype-plugin/advanced-usage.html

详细介绍了如何快速创建和使用Archetype。