在 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...

相关推荐
lybugproducer38 分钟前
创建型设计模式之:简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式
java·设计模式·建造者模式·简单工厂模式·工厂方法模式·抽象工厂模式·面向对象
南客先生42 分钟前
马架构的Netty、MQTT、CoAP面试之旅
java·mqtt·面试·netty·coap
Minyy111 小时前
SpringBoot程序的创建以及特点,配置文件,LogBack记录日志,配置过滤器、拦截器、全局异常
xml·java·spring boot·后端·spring·mybatis·logback
百锦再1 小时前
Java与Kotlin在Android开发中的全面对比分析
android·java·google·kotlin·app·效率·趋势
武昌库里写JAVA2 小时前
39.剖析无处不在的数据结构
java·vue.js·spring boot·课程设计·宠物管理
画个大饼3 小时前
Go语言实战:快速搭建完整的用户认证系统
开发语言·后端·golang
Nelson_hehe4 小时前
Java基础第四章、面向对象
java·语法基础·面向对象程序设计
Thomas_YXQ4 小时前
Unity3D Lua集成技术指南
java·开发语言·驱动开发·junit·全文检索·lua·unity3d
ShiinaMashirol5 小时前
代码随想录打卡|Day27(合并区间、单调递增的数字、监控二叉树)
java·算法
东阳马生架构7 小时前
Nacos简介—3.Nacos的配置简介
java