使用mvn archetype插件自定义项目骨架模板

Archetype简介

Archetype是Maven工程的模板工具包。使用Archetype提供的方法可以快速的构建和组织一致化的工程,解决在工作过程中创建一个新项目时需一堆繁琐的配置工作(一个项目包含许多的配置文件。例如:Spring、mybatis、log4j、pom.xml、git等,其他的还包括项目目录骨架,整个过程配置下来顺利的话也要几十分钟)。


工具介绍
  1. IDEA

如何使用Archetype基于已有Maven项目生成自定义模板
  1. 首先要有一个想生成为模板的原型项目
  2. 删除项目里所有特定业务相关的代码、文件,保留最后生成的最小配置文件集合,以及项目的基本包结构配置
  3. 在项目的pom.xml文件中添加maven-archetype-plugin插件

    <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-archetype-plugin</artifactId>
          <version>2.2</version>
    </plugin>
  4. 在终端执行命令,生成Maven项目模板。成功执行完之后,生成的模板文件都在target/generated-sources/archetype目录下。
    mvn archetype:create-from-project

  5. 进入项目的 target\generated-sources\archetype目录,执行命令将模板安装到本地maven仓库:
    mvn clean install

至此,项目模板已生成完毕。


使用自定义模板创建项目

使用自定义模板创建项目有两种方式:
1. 使用命令行

在自己的workspace下执行
mvn archetype:generate -DarchetypeCatalog=local
选择自定义的模板项目的编号,按照提示输入参数值,这样项目就创建完毕了。
如果找不到我们的模板项目,检查一下~/.m2/目录下是否有archetype-catalog.xml文件。

通过mvn archetype:generate这种交互方式来创建Maven项目模板的时候,经常会长时间卡在:Generating project in Interactive mode这一行提示,这是由于获取archetype-catalog.xml导致的(浏览器访问http://repo1.maven.org/maven2/archetype-catalog.xml,需要等待很长时间才能获取到)。但使用默认archetype-catalog.xml文件下载下来的archetype太多了,有1400多种,但真正用到的其实只有quick-start项目模板和自定义模板。

解决方法:

  1. 指定-DarchetypeCatalog=internal参数(图3),使用archetype插件内置的catalog
  2. 指定-DarchetypeCatalog=local参数(图4),使用本地路径下的~/.m2/archetype-catalog.xml。如果本地没有archetype-catalog.xml,可以通过mvn archetype:crawl获取archetype-catalog.xml到~/.m2/repositoriy/archetype-catalog.xml。之后注意将archetype-catalog.xml放到~/.m2/目录下。如果想要获取更加完整的catalog,可以访问http://repo1.maven.org/maven2/archetype-catalog.xml

2. 通过IDEA创建

在IntelliJ 中创建新的项目工程时,选择 create from archetype方式 ,并将生成的自定义模板添加进去:Add archetype,然后填写我们的新建项目的maven坐标,设置参数值就可以生成项目,非常方便。

如果事先建立过自己的项目模板,则可以在C:/用户/*/.m2目录下找到一个archetype-catalog.xml文件,这里面就有我们自定义项目模板描述,使用add archetype添加的时候,把archetype-catalog.xml中对应内容复制过去即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值