在 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 分钟前
设计模式-工厂模式
java·开发语言·设计模式
码事漫谈41 分钟前
C++死锁深度解析:从成因到预防与避免
后端
凌波粒42 分钟前
MyBatis完整教程IDEA版(2)--ResultMap/注解/一对多/多对一/lombok/log4j
java·intellij-idea·mybatis
码事漫谈1 小时前
智能体颠覆教育行业:现状、应用与未来展望调研报告
后端
蓝-萧1 小时前
【玩转全栈】----Django基本配置和介绍
java·后端
priority_key1 小时前
排序算法:堆排序、快速排序、归并排序
java·后端·算法·排序算法·归并排序·堆排序·快速排序
韩立学长1 小时前
基于Springboot的旧时月历史论坛4099k6s9(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
汤姆yu2 小时前
基于SpringBoot的动漫周边商场系统的设计与开发
java·spring boot·后端
皮皮林5512 小时前
快速解决 Maven 版本冲突指南 !
java·maven
灰小猿2 小时前
Spring前后端分离项目时间格式转换问题全局配置解决
java·前端·后端·spring·spring cloud