版本更新概述
自插件1.0版本发布以来,收到了大量用户的反馈和建议。经过深入的需求分析和功能开发,2.0版本带来了多项重大改进,旨在进一步提升开发效率和用户体验。
1.0博客介绍: 文章跳转链接
核心功能更新
1. 支持单模块DDD架构和多模块架构两种模式
2.0版本增加了对单模块DDD架构的支持,在原有传统多模块架构基础上,提供了更加现代化的架构选择。用户可以根据项目规模和复杂度选择最适合的架构模式:
- 多模块架构:适用于大型项目,模块职责清晰,便于团队协作
- 单模块DDD架构:适用于中小型项目,采用领域驱动设计思想,层次分明
如图所示:



2. Spring Boot版本选择支持
新版本最显著的改进是支持Spring Boot版本选择功能。用户现在可以在项目创建时直接选择所需的Spring Boot版本:
- Spring Boot 2.7.x:适用于需要稳定版本的企业项目
- Spring Boot 3.0.x:支持JDK 17+,提供最新特性
- Spring Boot 3.2.x:最新版本,适合技术尝鲜
选择版本后,插件将自动完成以下配置:
- 配置对应的parent依赖
- 设置匹配的JDK版本
- 引入相应的spring-boot-maven-plugin
- 预配置常用starter依赖
3. 支持自定义模块名称
2.0版本延续并优化了自定义模块名称功能,用户可以根据实际业务需求灵活定义模块名称,不再局限于固定的模块命名方式。插件能够智能识别用户输入的模块名称并正确生成对应的模块结构。
4. 支持选择Java版本
为满足不同项目对Java版本的要求,新版本支持选择多种Java版本:
- Java 8:广泛使用的稳定版本
- Java 11:长期支持版本
- Java 17:最新的长期支持版本
- Java 21:最新特性版本
插件将根据用户选择自动配置相应的Java版本,并确保与所选Spring Boot版本兼容。
5. 自动添加常用依赖
针对开发者日常开发中经常使用的工具库和框架,2.0版本强化了自动添加常用依赖的功能,支持一键集成:
- Lombok:简化Java代码编写
- Hutool:Java工具集库
- SLF4J、Logback:日志处理框架
- Swagger:API文档工具
- JUnit:单元测试框架
6. 自动生成项目文件
为了帮助开发者快速开始项目开发,插件还支持自动生成项目README.md和.gitignore文件,省去了手动创建和配置的步骤,让开发者能够专注于业务逻辑的实现。
7. 预置依赖模板系统(后续上线)
为解决重复添加常用依赖的问题,2.0版本引入了预置依赖模板系统:
- Lombok:简化Java代码编写
- Hutool:Java工具集库
- SLF4J、Logback:日志处理框架
- Swagger:API文档工具
- JUnit:单元测试框架
后续会考虑实现如下模版:
Web开发模板:包含Spring Web、Jackson、Validation等基础Web开发依赖
数据访问模板:集成MyBatis-Plus、MySQL驱动、Druid连接池
缓存模板:提供Redis、Lettuce、Spring Cache等缓存相关依赖
工具类模板:包含Hutool、Apache Commons、Guava等常用工具库
确保每个模板都经过精心配置,确保依赖版本兼容性,避免常见的版本冲突问题。
8. Gradle构建工具支持
响应用户对Gradle支持的需求,2.0版本新增了对Gradle构建系统的完整支持:
- 支持Gradle 7.x和8.x版本
- 保持与Maven项目相同的目录结构
- 自动配置子模块依赖关系
- 集成Spring Boot插件和依赖管理
生成的Gradle项目采用Kotlin DSL格式,提供更佳的IDE支持和类型安全。
9. 自定义模块依赖关系
考虑到不同团队的架构差异,新版本提供了更灵活的依赖关系配置:
智能模式 :适合标准架构,按模块输入顺序自动建立依赖关系 自定义模式:允许手动指定每个模块的具体依赖关系
例如,用户可以精确配置:
rust
api -> service, common
service -> dao, common
dao -> pojo, common
common -> (无依赖)
插件将根据配置生成正确的依赖配置,无需手动编写dependency标签。
技术实现优化
1. 性能提升
2.0版本在性能方面进行了深度优化:
项目生成速度提升:通过模板引擎升级和文件IO优化,生成速度提升约300%,4模块项目生成时间从20秒缩短至5秒以内
内存使用优化:采用模板预编译、分块处理大文件、及时对象回收等技术,内存占用降低60%
依赖解析缓存:引入智能缓存机制,避免重复解析相同依赖关系
2. 版本兼容性管理
新版本重构了版本管理机制:
- JDK版本支持:8, 11, 17, 21
- Maven版本支持:3.6.x, 3.8.x, 3.9.x
- Gradle版本支持:7.x, 8.x
- Spring Boot版本支持:2.7.x, 3.0.x, 3.2.x
系统提供智能兼容性检查,确保所选技术栈版本之间相互兼容,避免版本冲突。
问题修复与兼容性
1. 系统兼容性改进
Windows系统支持:优化路径处理逻辑,解决Windows路径分隔符和中文路径问题
IDEA版本支持:扩展支持范围,最低支持IDEA 2020.3,最高支持2025.3版本
特殊字符处理:加强输入校验,避免特殊字符导致的生成失败
2. 已知问题修复
- 修复了长路径下的文件创建失败问题
- 解决了内存溢出和GC压力过大的情况
- 改进了错误提示信息,提供更准确的问题定位
实际应用示例
Spring Boot 3.x项目创建
以创建一个6模块的Spring Boot 3.x项目为例:
-
启动创建向导,选择
Create Maven Aggregation Project -
填写基础信息:
- GroupId:
com.example - ArtifactId:
modern-app - JDK版本:选择为17
- GroupId:
-
选择技术栈模板:
- Web开发模板
- 数据访问模板
- 缓存模板
-
配置模块: api, gateway, service, dao, pojo, common
-
执行生成,约2秒后完成
生成的项目已集成Spring Boot 3.2.x、JDK17、MyBatis-Plus、MySQL、Redis等组件,可直接运行。
Gradle多模块项目
创建Gradle项目的流程类似:
-
选择Gradle 8.x作为构建工具
-
配置模块依赖关系: web -> service, common service -> dao, common dao -> pojo, common common ->
-
选择所需模板并生成
系统将自动配置子模块依赖、Spring Boot插件、依赖管理等Gradle特有配置。
升级指南
从1.x版本升级
老用户升级至2.0版本需注意:
- 2.0版本配置格式有所调整,建议重新进行配置
- 旧版本的自定义模板需要重新适配新格式
- 新版本最低要求IDEA 2019.3版本
配置迁移
如需迁移旧配置:
- 在1.x版本中导出现有配置
- 升级至2.0后重新导入配置
- 检查并补充新版本的配置项
后续发展规划
基于用户反馈,后续版本计划包含:
- 微服务架构支持:Spring Cloud Alibaba全家桶模板
- 响应式编程支持:WebFlux + R2DBC技术栈
- 多数据源配置:主从读写分离架构模板
- 容器化部署支持:Docker和Kubernetes配置自动生成
获取与安装
插件市场更新
用户可通过IDEA插件市场直接更新:
- 打开IDEA设置
- 进入Plugins → 已安装
- 找到Maven Aggregation Quickstart
- 点击更新按钮
手动下载安装
也可从项目仓库手动下载:
arduino
https://gitee.com/tingyuabc/maven-aggregation-quickstart
请选择2.0.x版本进行下载安装。
总结
Maven聚合插件2.0版本通过引入Spring Boot版本选择、预置依赖模板、Gradle支持等核心功能,显著提升了项目初始化的效率和体验。性能优化和界面改进进一步增强了插件的实用性。我们将继续基于用户反馈不断完善功能,为开发团队提供更优质的开发工具。
欢迎用户通过项目仓库提交Issue和Pull Request,共同推动插件的发展完善。
本文首发于技术博客,作者:听雨,转载请注明出处。