自定义maven archetype

本文介绍如何通过现有项目创建自定义Maven archetype模板,包括创建、调整和部署模板的步骤,以及如何在新项目中使用这些自定义模板。

        archetype实际上是一个插件,一般我们会用mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-webapp这样的命令来创建项目,其中的-DarchetypeArtifactId=maven-archetype-webapp实际上就是使用了maven提供的一个archetype(模板),模板里面包含了项目的目录结构以及文件,但这个模板里面实际上并没有什么东西,包含的web.xml文件又是2.3版的,太低了。另外,对于一个团队来说,自已的远程仓库、项目的一些基础依懒,实际上都可以配置在POM.xml里面。所以完全有必要掌握自定义archetype。

       自定义archetype本来应该是创建好项目目录结构,准备好一些模板文件、然后还有编写archetype descriptor文件等步骤,不过这样也太麻烦,最简单的办法就是根据现有项目创建一个,不就是模板,根据已有的项目创建自然是最合适的。所以,在maven官网上也只有这种方法的教程,只不过这种方法需要安装、配置好Maven,不能用eclipse中嵌入的maven。创建过程如下:

       第一步:在项目目录下运行mvn archetype:create-from-project,就会在target/generated-sources/archetype下创建好archetype项目,这下面把原来项目的目录及文件复制了一份过来,并且archetype descriptor之类的文件也自动生成了。

   第二步:就是删除、修改archetype项目下的文件,把不是每个项目都需要的文件,不是每个项目都需要的设置删除、修改掉;

   第三步:在archetype项目目录下也就是target/generated-sources/archetype下运行mvn install或者mvn clean install,archetype项目就编译并发布到本地仓库了。这个项目的groupId跟原来项目的一样,artifactId就是原来的项目名称-archetype,这些pom.xml文件里面有,注意看一下,后面要用到。

   自定义的archetype创建好了,并且已经创建好了,如果是用命令行maven,还需要在本地仓库中创建一个archetype-catalog.xml文件,描述一下这个archetype(远程仓库也是如此),用eclipse的话,可以在创建maven项目选择archetype的时候ADD Archetype一个,输入archetype项目的groupId、artifactId以及版本号,url为空的话,就会在本地仓库里创建archetype-catalog.xml文件,然后就可以选择使用了。所以,不能创建或修改这个文件的话,自定义的archetype就算发布到远程仓库也没办法用。

   另外,第一步创建archetype项目的时候,复制的原目录结构甚至包括隐藏的文件夹,所以如果是在原有的eclipse下的maven项目中创建archetype项目,.classpath、.project、.settings目录都复制过来了,所以原来项目在eclipse下的设置通通都保留了下来,不需要再设置一遍。当然,需要改的就只能手工改了,删掉这些文件也没多大关系,重新设置又会自动生成的。

   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值