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

相关推荐
w***744025 分钟前
SpringBoot项目如何导入外部jar包:详细指南
spring boot·后端·jar
ZHE|张恒28 分钟前
Spring Bean 生命周期
java·spring
tsumikistep2 小时前
【前后端】接口文档与导入
前端·后端·python·硬件架构
q***38512 小时前
SpringCloud实战十三:Gateway之 Spring Cloud Gateway 动态路由
java·spring cloud·gateway
小白学大数据3 小时前
Python爬虫伪装策略:如何模拟浏览器正常访问JSP站点
java·开发语言·爬虫·python
码事漫谈3 小时前
为什么C语言拒绝函数重载?非要重载怎么做?
后端
码事漫谈3 小时前
浅谈C++与C语言二进制文件差异(从一次链接错误说起)
后端
程序员西西3 小时前
SpringBoot接口安全:APIKey保护指南
java·spring boot·计算机·程序员·编程·编程开发
summer_west_fish4 小时前
单体VS微服务:架构选择实战指南
java·微服务·架构
v***8574 小时前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos