使用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就行了。
- 使用Maven创建自定义Archetype
- 使用maven创建自定义的archetype
- maven 创建自定义archetype
- maven自定义catalog创建archetype
- Maven 使用archetype插件创建目录骨架
- 使用Maven archetype-webapp创建web项目
- 使用maven3 创建自定义的archetype
- 使用maven3 创建自定义的archetype .
- 使用maven3 创建自定义的archetype
- 使用maven3 创建自定义的archetype
- 使用maven3 创建自定义的archetype
- 自定义maven archetype插件
- 自定义maven-archetype
- maven 自定义archetype
- 自定义maven archetype
- 自定义maven-archetype
- 自定义maven archetype
- 手把手创建自定义的分层的maven-archetype
- Android 单元测试(一)概述及Unit Test
- 排列与组合的实现
- 野人学Android基础篇之初探UI控件第二课--ImageView静态赋值
- 上下力费是什么意思?
- [PyQt] 使用.qrc 生成资源文件供程序中使用
- 使用Maven创建自定义Archetype
- 【转】[LeetCode] Factorial Trailing Zeroes
- 在jsp中的一些格式小问题
- 8/25.Lable文字适应,UITableVIew两种方法/UICollectionView
- C++运行时类型识别——RTTI
- POJ 1456 Supermarket(贪心 + 并查集 )
- 正则表达式在iOS中的运用(附手机密码邮箱等正则判断)
- xcode7报错:does not contain bitcode
- spring定时器 定时操作同一数据库数据