使用Maven创建自定义Archetype

本文介绍如何创建自定义Maven Archetype,包括集成常用框架、配置插件、解决创建过程中的问题,以及安装、使用和管理自定义Archetype。详细步骤包括在Maven项目中添加配置,通过`mvn archetype:create-from-project`和`mvn install`命令生成和安装Archetype,并在Eclipse中使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:每次新建Maven Web项目时,Maven自带的maven-archetype-webapp并不好用,其默认的Dynamic Web Module是2.3,Java是1.5,默认的Java版本可以通过配置pom.xml或者settings.xml文件进行修改(修改方法),但Dynamic Web Module每次都要自己修改(修改方法),很麻烦,而且自己创建Archetype可以包含自己经常用到的东西,还可以直接配置好框架。

环境:Maven 3.3.3

参考:使用maven3 创建自定义的archetype

方法:

1.新建一个Maven项目,然后把经常用到的代码或者配置文件等等都加进来,或者配置好框架,比如集成SSM。


2.在pom.xml文件中配置插件

打开项目的pom.xml文件,然后在<build></build>标签内加入以下插件配置代码段:

<plugins>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-archetype-plugin</artifactId>
          <version>2.2</version>
      </plugin>
</plugins>


3.进入项目根目录,Shift+鼠标右键-->在此处打开命令窗口,或者cmd窗口中cd到项目的根目录,然后运行maven命令:

mvn archetype:create-from-project
运行成功后,你可以看到以下类似信息:


表明Archetype已经创建,在target\generated-sources\archetype中。

如果显示build failure和error信息,则表明失败,你可以根据error信息进行修改并解决。这里我曾遇到一个问题,就是maven安装路径下bin目录下的mvn.bat没有找到,此时只需要把bin目录下的mvn.cmd文件后缀名改为bat即可,好像从Apache Maven官网上下载下来的win 64版本都是mvn.cmd。


4.然后cd进入创建好的Archetype所在目录,即target\generated-sources\archetype目录,运行maven命令:

mvn install

运行成功后,如图:


可以看到build success,表明Archetype已经成功安装到本地仓库。


5.Archetype安装路径

查看Maven安装目录下conf文件夹中的settings.xml文件,如果你在此设置了<localRepository>本地仓库路径,则Archetype就安装在这个路径下。同时在<localRepository>默认路径:个人文件夹/.m2目录下会有一个archetype-catalog.xml文件,如果没有这个文件,就执行 mvn archetype:crawl 命令生成该文件。打开文件,可以看到Archetype的groupId、artifactId等。

<archetype>
      <groupId>com.cyou.mrd</groupId>
      <artifactId>IosTestServerDemo-archetype</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <description>IosTestServerDemo-archetype</description>
</archetype>


6.使用自定义Archetype

CMD窗口中输入 mvn archetype:generate -DarchetypeCatalog=local ,然后根据提示输入项目相关信息,一步一步往下走即可。创建项目完成后,使用Eclipse导入项目。

如果想在Eclipse中新建Maven项目时直接使用Archetype,则需要在Eclipse中Window-->Preferences-->Maven-->User Settings中,将User Settings设置的settings.xml文件里的本地仓库地址与maven安装目录下conf/settings.xml文件里的本地仓库地址保持一致。然后在New Maven Projcet界面,勾选Include snapshot archetypes,把Catalog选为Default Local,就可以看到自定义的Archetype了。



7.删除安装的自定义Archetype

(1).打开个人文件夹/.m2目录下的archetype-catalog.xml文件,将对应的<archetype></archetype>删除,比如删除文中刚刚安装的自定义archetype,那就把第5步中的<archetype></archetype>删除;

(2).退出Eclipse,进入自己设置的本地仓库中,进入groupId对应的文件夹,然后把artifactId对应的文件夹删除,同样以刚才安装的archetype为例,groupId为:com.cyou.mrd,artifactId为:IosTestServerDemo-archetype,则在本地仓库com\cyou\mrd目录下有一个名为IosTestServerDemo-archetype文件夹,把它删除掉。


8.修改安装的自定义Archetype

某些时候,我们可能对生成的archetype不太满意,比如要改动配置文件,虽然也可以新建项目后直接修改,但这样每次新建后都要修改,所以就在源项目中先修改了,然后再重新生成一次archetype吧。

(1).执行上面的删除步骤;

(2).进入项目根目录,把target\generated-sources\archetype目录下的文件都删除掉或者直接把target下的generated-sources文件夹删掉,然后重新生成Archetype就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值