Maven插件之maven-archetype-plugin

学过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。

时间: 2025-01-20 18:24:35

Maven插件之maven-archetype-plugin的相关文章

[转]maven创建自定义的archetype

创建自己的archetype一般有两种方式,比较简单的就是create from project 1.首先使用eclipse创建一个新的maven project,然后把配置好的一些公用的东西放到相应的目录下面     比如说会将一些常用的java代码存放到src/main/java目录下面:     会将一些通用的配置文件放到src/main/resources目录下面:     如果是javeEE工程,还会有一些jsp等等的文件存放到src/main/webapp目录下面   2.然后在ma

常用Maven插件介绍(下)

转自:http://www.infoq.com/cn/news/2011/05/xxb-maven-8-plugin     我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/java/目录下的

Maven插件之portable-config-maven-plugin(不同环境打包)

大的项目组中,分开发环境,测试环境,生产环境等;不同环境的配置不同,或数据源,或服务器,或数据 库等; 问题来了,如何使用Maven针对不同的环境来打包呢? Maven提供了Profile的概念,用来解决此类问题,其原理很简单,就是使用变量替换;举个例子来说明, 测试项目目录结构如下图所示: 比如开发环境和生产环境的数据库不同,db.properties配置文件内容如下: #测试库 db.url=192.10.2.168 db.username=dbtest db.password=dbtest

Maven插件之Maven-Enforcer-Plugin

实际开发中,项目经理总会告诉开发人员:开发时要遵守什么什么样的约定,命名规范怎么怎样 样.... 约定优于配置,很重要!比较规范的公司(或者项目组),会把规范写到文档中,让开发人员去遵守. 问题来了,怎么才能知道大家有没有按照规范走呢?有人会说了,找个工具校验一下就可以了,开源工具 很多.是的,这是对的.但对于项目中使用的程序.工具.开发环境呢,有工作经验的人应该都知道,很多 时候,新手出现诡异的问题,一部分原因是因为环境不对,或者软件版本不符;这时应该怎么检查呢? Maven提供了Maven-

Maven插件之maven-assembly-plugin

使用Maven对Web项目进行打包,默认为war包:但有些时候,总是希望打成zip包(亦或其他压缩包), maven-war-plugin插件就无能为力了,这时就用到了maven-assembly-plugin插件了,官方网址: http://maven.apache.org/plugins/maven-assembly-plugin/ 该插件能打包成指定格式分发包,更重要的是能够自定义包含/排除指定的目录或文件(遗留项目中, 过滤配置文件时,或者仅仅需要发布图片或者CSS/JS等指定类型文件时

Maven插件之buildnumber-maven-plugin

某些情况下(这种情况一般很少见),使用maven构建项目时,需要一个不重复的序列号,比如说,打包时, 包名称以当前构建时间结尾,或者每次生成的jar包中包含唯一的序列号,等等; 这个时候,就用到了buildnumber插件,官方网址: http://mojo.codehaus.org/buildnumber-maven-plugin/index.html 该插件能按照指定的方案生成序列号;首先引入该插件 <!-- 根据系统时间生成唯一序列号 --> <plugin> <gro

Maven插件之build-helper-maven-plugin

把原有项目添加到Maven管理时,总会出现很多莫名奇妙的问题,其中之一便是Maven默认的项目结构 和自己的项目结构不一致,导致无法编译源代码,更不用说部署.运行项目了. Java程序开发,一般使用Eclipse.MyEclipse等工具,其源码目录为src,这与Maven默认的 src/main/java不同.因此,在没有额外配置的情况下,使用Maven命令无法完成代码的编译. 针对这种情况,codehaus提供了build-helper-maven-plugin插件来支持自定义的项目目录结构

开发过程使用Tomcat Maven插件持续快捷部署Web项目

我在平时工作中部署Web项目到测试服务器上的Tomcat时用的是Hudson.Hudson本身已经跟SVN.Git.Maven集成并且支持添加各种插件.但如果使用Hudson,我需要配置两个任务:一个任务负责打包项目成WAR,另外一个任务负责部署打包好的WAR包到目标服务器的Tomcat上.虽然任务只需要配置一次,但每次修改代码提交后,都得切换到浏览器点Hudson构建任务页面上的Build Now按钮,然后还得跳转到另一个页面观察是否有报错,然后再点击执行相应的部署任务.烦不胜烦,偶然发现To

eclipse maven插件快速创建自定义web项目流程

问题描述 自己想做点小东西 做点例子什么的 每次都得手动建项目.. 找jar... 配置n多配置文件... 太麻烦... 请教下maven快速创建web项目的流程.. 能自定义框架的. 比如 ssh2 或 springmvc ibatis 等. 麻烦给个完整的流程 或 文章. 谢谢 解决方案 1. 通过命令行创建. 具体命令网上一搜一大把. 也可以参考maven官网快速指南. 有中文的. 通过命令创建好后 mvn eclipse:eclipse 在使用工具导入即可. 然后编辑pom2. 通过ec