关于 springboot-migration
面向需要升级现有 Spring Boot 应用的团队的迁移 skill。它扫描项目文件、选择适用的迁移指南,并要求分阶段修改、逐阶段验证。
主要功能
- 01扫描构建文件和源代码
- 02识别适用的迁移任务
- 03提供 Boot、Modulith 和 Testcontainers 指南
- 04按阶段安排变更
- 05每个阶段后验证进展
适用场景
- 01评估现有 Spring Boot 项目
- 02规划相关依赖的升级
- 03继续前验证当前迁移阶段
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ a-pavithraa/ springboot-skills-marketplace --skill springboot-migration安装后在 Claude Code 中输入/springboot-migration确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/migration-overview.mdspring-boot-4-migration.mdspring-modulith-2-migration.mdtestcontainers-2-migration.mdscripts/scan_migration_issues.py详细介绍
Spring Boot 迁移
目的
在对现有 Spring Boot 应用进行分阶段升级时使用此技能。此技能通过迁移扫描器、Boot 4 / Modulith 2 / Testcontainers 2 参考指南,以及避免一次混入过多更改的严格迁移顺序来提供价值。
关键规则
- 切勿盲目迁移。先扫描代码库。
- 切勿一次性应用所有迁移。请按阶段升级。
- 除非用户要求更窄的目标,否则将 Spring Boot 4、Spring Modulith 2 和 Testcontainers 2 视为此技能的预期目标技术栈。Boot 4 的 Java 基线版本为 17;对于新的编译目标,建议使用 Java 25,但不要强制升级到迁移实际要求之外的版本。
- 每个阶段后都要验证,出现失败时立即停止。
工作流
第 1 步:扫描项目
在规划或编辑之前,先使用迁移扫描器。它会读取项目中的 pom.xml、build.gradle 或 build.gradle.kts(以项目实际使用的为准),以及 Java 源文件、属性文件和 Flyway 迁移文件:
python3 "${CLAUDE_SKILL_DIR}/scripts/scan_migration_issues.py" /path/to/project
使用扫描结果识别:
- 当前 Spring Boot 版本
- starter 重命名工作
- 注解和导入迁移
- 配置更改
- Spring Modulith 兼容性
- Testcontainers 兼容性
第 2 步:确定适用的迁移
仅加载与代码库匹配的参考资料:
| 迁移 | 触发条件 | 阅读 |
|---|---|---|
| Spring Boot 4.0 | 从 Boot 3.x 升级到 4.x | references/spring-boot-4-migration.md |
| Spring Modulith 2.0 | 已有 Modulith 1.x 用法 | references/spring-modulith-2-migration.md |
| Testcontainers 2.x | 已有 Testcontainers 1.x 用法 | references/testcontainers-2-migration.md |
| 跨领域场景和注意事项 | 混合升级规划 | references/migration-overview.md |
第 3 步:分阶段规划迁移
使用参考指南按以下顺序规划并执行迁移。
阶段 1:依赖项
- 更新
pom.xml或build.gradle - 按需重命名 starter
- 添加或移除目标技术栈所需的依赖项
- 统一版本属性
阶段 2:源代码更改
- 更新导入和包名
- 迁移测试注解
- 修复 Jackson 3 问题
- 视情况修复 Testcontainers API 更改
阶段 3:配置
- 更新
application.properties或application.yml - 有意采用 Boot 4 默认设置
- 视情况更新 Spring Modulith 事件存储配置
阶段 4:验证
- 运行单元测试
- 运行集成测试
- 运行已有的基于容器的测试
- 检查弃用项和启动失败
第 4 步:混合升级时采用正确的迁移顺序
涉及多个生态时,请按以下顺序进行:
- Spring Boot 4
- Spring Modulith 2
- Testcontainers 2
若要偏离此顺序,请先阅读 references/migration-overview.md。
第 5 步:每个阶段后报告进度
每个阶段结束后,报告:
- 已更改的内容
- 尚未完成的内容
- 失败情况(如有)
- 是否可以安全继续
参考资料加载指南
- Spring Boot 4 迁移详情:
references/spring-boot-4-migration.md - Spring Modulith 2 迁移详情:
references/spring-modulith-2-migration.md - Testcontainers 2 迁移详情:
references/testcontainers-2-migration.md - 混合场景和常见问题:
references/migration-overview.md
可用脚本
scripts/scan_migration_issues.py
输出格式
规划或报告迁移时,请按以下格式返回:
## Migration scope
- Current versions:
- Target versions:
## Planned phases
1. ...
2. ...
3. ...
## Files expected to change
- `path/to/file`
## Verification
- Tests or checks to run
不适用此技能的情况
- 从零创建新的 Spring Boot 项目
- 不涉及实际迁移任务的宽泛架构建议
- 属于
spring-data-jpa范畴的 JPA 专项实现工作
评论
支持 Markdown