使用Maven创建自定义Archetype

来源:互联网 发布:张无忌 知乎 编辑:程序博客网 时间:2024/05/22 06:51

问题描述:每次新建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就行了。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 军训完晒黑了怎么办 完美动力忽悠人怎么办 wlan密码忘了怎么办 孩子多动怎么办呢 孩子性格太内向怎么办 孩子脾气暴躁易怒怎么办 小孩有点叛逆应怎么办 小孩太叛逆怎么办关住 对不听话的孩子怎么办 孩子在学校不听话怎么办 孩子叛逆不回家怎么办 孩子厌学怎么办青春期叛逆 孩子青春期叛逆家长怎么办 孩子老哭不听话怎么办 8岁宝宝不听话怎么办 儿孑不听话叛逆怎么办 孩子太小不听话怎么办 得了只有很紧张怎么办 内向的妈妈孩子怎么办 对孩子没有耐心怎么办 孩子心理有问题怎么办 孩子心里有问题怎么办 父母打架我该怎么办 爸爸妈妈要离婚怎么办 父母吵架怎么办动手了 父母因为钱吵架怎么办 父母吵架孩子该怎么办 特别倔强的孩子怎么办 孩子胆小不自信怎么办 孩子不自信家长怎么办 二年级孩子厌学怎么办 儿童注意力不集中怎么办 小学数学成绩差怎么办 孩子英语成绩差怎么办 小学成绩差初中怎么办 小孩一年级成绩不好怎么办 孩子的记忆力差怎么办 普法考试没有考怎么办 小孩迷上玩手机怎么办 营养师证取消了怎么办 变频器输出缺相怎么办