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

相关推荐
自信的未来14 分钟前
JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
java·前端·json
Brookty16 分钟前
【JavaEE】线程安全(一).4:写块串行保安全、CAS
java·开发语言·java-ee·多线程·线程安全
我叫黑大帅19 分钟前
MySQL 并发插入竞态问题:原子写入实践指南
后端·mysql·面试
怕孤单的草丛1 小时前
缓存管理面临的主要问题
java·数据库·缓存
zhangxingchao1 小时前
AI大模型核心八:从 Agent Skill、长文档 RAG 到知识库更新与训练策略
前端·人工智能·后端
我叫黑大帅1 小时前
别再手动写 updated_at了,这坑我踩过
后端·面试·go
zhangxingchao2 小时前
AI大模型核心七:从 Workflow、RAG、记忆治理到幂等性
前端·人工智能·后端
犀利豆3 小时前
AI in Harness(二)
java·人工智能·后端
IT_陈寒3 小时前
Python装饰器竟然偷偷改了函数名?这个坑我爬了三天
前端·人工智能·后端