在 Idea 选择自己的 Archetype 创建项目

前言

今天和大家分享下如何通过自己的模板项目来快速创建项目;通常项目开发久了,会慢慢形成一个模板项目,这个模板项目会有一些经常用到的工具类等等,当我们需要新建一个项目时,我们可能会照着这个模板项目的结构去创建,然后将模板项目的文件复制到新项目中、而且还要一个类一个类检查依赖是否正确,这样着实有些费力。 这时,我们就可以将自己的模板项目做成一个 Archetype,然后在 Idea 中使用我们自己的 Archetype 生成项目,例如下面这样,直接选择自己的 Archetype,然后填写项目信息(gav)即可,这样可以很快生成一个新项目。

下面说下如何将自己的模板项目做成 Archetype。

1. 在模板项目的 pom 中添加 maven-archetype-plugin 插件

xml 复制代码
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-archetype-plugin</artifactId>
    <version>3.2.1</version>
</plugin>

例如下面就是我的模板项目,这是一个多模块项目,common 是常用的工具类,dependencies 是依赖管理,server 就是我们的服务

在 pom 中添加 maven-archetype-plugin 插件

2. 执行maven命令 archetype:create-from-project

如果遇到这个警告,警告信息:Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent! 可以直接忽略不做处理。

archetype:create-from-project 命令执行完之后,项目会生成target目录文件。

如果没有看到 target 目录,就点击小齿轮,勾选上 Show Excluded Files 就可看到了

至此,骨架相当于已经生成,但是需要安装,还需要把骨架添加到maven中。

3. 把骨架添加到maven中

在刚才生成的 target 路径下找到这个 archetype 目录,用 idea 打开。

打开后执行 install

install 成功之后执行archetype:crawl命令用于构建骨架

执行完之后会在本地仓库的根目录生成 archetype-catalog.xml 骨架配置文件

打开 archetype-catalog.xml 会看到有 gav 信息

4. 在 Idea 中添加我们的骨架

在 idea 中新建项目,选择 Maven,然后勾选 Create from archetype, 然后点击 Add Archetype 按钮,填写 gav 信息,这里的 gav 就照着上一步 archetype-catalog.xml 中的 gav 填就行,填好之后点 ok 按钮,然后在 archetype 列表中就会出现我们添加的 Archetype 了。

5. 选择我们自己的 Archetype 创建项目

最后

欢迎使用我的模板项目,它集成了我常用的一些工具,而且还包含以下功能:

  • spring-boot: 2.3.6
  • lombok
  • mapstruct
  • mybatis-plus
  • redis
  • 极致的分页查询
  • ip 获取,ip2region
  • 对象存储,腾讯 cos
  • 登录、注册、验证码、用户

项目地址:github.com/lijunping36...

相关推荐
实名上网宋凯宣6 小时前
Django
后端·python·django
天河归来7 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL7 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
利威尔xu7 小时前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
逃逸线LOF8 小时前
Ribbon负载均衡原理(Irule组件、源码分析)
后端·spring cloud·ribbon
砚底藏山河8 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
慢云智慧空间8 小时前
从设备智能到空间理解,空间智能终端解决方案商如何重新定义行业标准
后端
利威尔xu8 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
猿究院_夏燊9 小时前
MySQL 的四种隔离级别
java·数据库·mysql
薛定谔的猫-菜鸟程序员9 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师