- 新增script/README.md脚本使用说明文档 - 新增script/project-template-refactor.sh项目模板重构脚本 - 完善脚本工具集,提高开发效率 |
||
|---|---|---|
| .. | ||
| batch-refactor.sh | ||
| project-refactor.sh | ||
| project-template-refactor.sh | ||
| README.md | ||
项目模板重构脚本
这是一个用于将 coder-common-thin-backend 项目重构为新项目模板的自动化脚本。
功能特性
🚀 全自动重构:一键完成整个项目的重构过程 📁 目录重命名:自动重命名所有模块目录和子模块目录 📦 Maven配置:更新所有 pom.xml 文件中的 groupId、artifactId 和模块名 ☕ Java包结构:重构所有 Java 文件的包名和 import 语句 ⚙️ 配置文件:更新所有配置文件中的包名引用 🗄️ 数据库配置:重命名 SQL 文件和更新数据库名引用 🔄 多层级支持:支持插件模块等多层级子模块结构
使用方法
1. 进入脚本目录
cd /Users/leocoder/leocoder/develop/frameworks/coder-common-thin/coder-common-thin-backend/script
2. 执行重构脚本
./project-template-refactor.sh
3. 按提示输入新项目信息
脚本会提示你输入以下信息:
- 新项目名称:例如
my-project-backend - 新的GroupId:例如
com.company.project - 新的包名:例如
com.company.project - 新的模块前缀:例如
my-project - 新的数据库名:例如
my_project_db
4. 确认配置并开始重构
脚本会显示所有配置信息供你确认,输入 y 开始重构。
重构内容详解
📁 目录结构重构
原始结构:
/parent-directory/
└── coder-common-thin-backend/ ← 项目根目录
├── coder-common-thin-web/
├── coder-common-thin-common/
├── coder-common-thin-model/
├── coder-common-thin-mybatisplus/
├── coder-common-thin-modules/
├── coder-common-thin-plugins/
│ ├── coder-common-thin-easyexcel/
│ ├── coder-common-thin-oss/
│ ├── coder-common-thin-sa-token/
│ └── ...其他插件模块
└── sql/
└── coder-common-thin.sql
重构后结构(以 my-project-backend 为例):
/parent-directory/
├── coder-common-thin-backend_backup_* ← 自动创建的备份
└── my-project-backend/ ← 重命名后的项目根目录
├── my-project-web/
├── my-project-common/
├── my-project-model/
├── my-project-mybatisplus/
├── my-project-modules/
├── my-project-plugins/
│ ├── my-project-easyexcel/
│ ├── my-project-oss/
│ ├── my-project-sa-token/
│ └── ...其他插件模块
└── sql/
└── my_project_db.sql
⭐ v1.2.0 新特性:脚本现在会自动重命名项目根目录,无需手动操作!
📦 Maven 配置重构
- groupId:
org.leocoder.thin→com.company.project - artifactId:
coder-common-thin-*→my-project-* - name:相应模块名称更新
- 依赖引用:所有模块间依赖的 groupId 和 artifactId
☕ Java 包结构重构
- 包声明:
package org.leocoder.thin.*→package com.company.project.* - import语句:
import org.leocoder.thin.*→import com.company.project.* - 目录结构:
src/main/java/org/leocoder/thin/→src/main/java/com/company/project/
⚙️ 配置文件重构
- application.yml / application-dev.yml / application-local.yml:
packages-to-scan: org.leocoder.thin→packages-to-scan: com.company.projectprojectName: CORDER-ADMIN-THIN→projectName: MY-PROJECT-ADMINpool-name: CORDER-HIKARI-DEV→pool-name: MY-PROJECT-HIKARI-DEVname: coder-web→name: my-project-webjdbc:mysql://localhost:3306/coder-common-thin→jdbc:mysql://localhost:3306/new-db-namejdbc:mysql://localhost:3306/coder-common-thin-backup→jdbc:mysql://localhost:3306/new-db-name-backupfilePath: /path/coder-common-thin-backend/→filePath: /path/new-project-backend/
- logback配置文件(logback-spring*.xml):
<contextName>coder-common-thin-logback</contextName>→<contextName>my-project-logback</contextName><property name="CORDER_ADMIN_LOGS" value="./logs"/>→<property name="MY_PROJECT_ADMIN_LOGS" value="./logs"/>- 所有日志路径引用:
${CORDER_ADMIN_LOGS}→${MY_PROJECT_ADMIN_LOGS}
- 其他配置文件:包名和项目相关引用更新
🗄️ SQL 文件重构
- 文件重命名:
coder-common-thin.sql→my_project_db.sql - 数据库名更新:SQL文件中的数据库名引用更新
安全特性
🔒 自动备份
脚本执行前会自动创建项目备份:
coder-common-thin-backend_backup_20250922_143022/
✅ 验证检查
重构完成后自动验证是否还有旧的引用残留
🚫 错误处理
遇到错误时立即停止执行,保护项目完整性
重构后操作
重构完成后请执行以下步骤:
1. 验证编译
mvn clean compile
2. 更新数据库配置
手动检查并更新以下配置文件中的数据库连接信息:
*/src/main/resources/application-dev.yml*/src/main/resources/application-local.yml
3. 验证功能
- 启动应用程序验证功能正常
- 检查所有插件模块是否正常加载
4. IDE配置
- 重新导入Maven项目
- 检查项目结构和依赖
5. Git管理
git add .
git commit -m "refactor: 重构项目为新模板"
注意事项
⚠️ 重要提醒:
- 重构前请确保代码已提交到Git仓库
- 脚本会自动创建备份,但建议额外手动备份重要数据
- 重构过程不可逆,请谨慎操作
- 重构后需要手动更新数据库连接配置
- 如果项目中有自定义的特殊配置,可能需要手动调整
故障排除
常见问题
- 权限错误:确保脚本有可执行权限
chmod +x project-template-refactor.sh - 路径错误:确保在正确的项目根目录下执行脚本
- Maven错误:重构后如果编译失败,检查依赖配置是否正确
- 包名冲突:如果新包名已存在,选择不同的包名
- Bash版本兼容性:脚本已修复了bash版本兼容性问题
- 包名未正确替换:使用修复脚本
./fix-existing-project.sh - 多余src目录:使用修复脚本自动清理
项目修复工具
1. 快速修复目录名反斜杠问题
如果目录名中出现反斜杠(如 leocoder\):
./quick-fix-backslash.sh
2. 修复遗漏的modules子模块
如果modules目录下的子模块没有被重命名:
./fix-missing-modules.sh
3. 修复已有问题的项目
如果重构过程中出现包名未正确替换或目录结构问题:
./fix-existing-project.sh
4. 检查项目状态
检查项目重构后的整体状态:
./project-status-check.sh
5. 演示logback配置处理
查看logback配置处理效果:
./logback-demo.sh
6. 测试反斜杠修复功能
验证反斜杠问题修复效果:
./test-backslash-fix.sh
7. 测试配置文件修复功能
验证数据库连接字符串和文件路径配置修复效果:
./test-config-fix.sh
回滚操作
如果重构出现问题,可以:
- 删除重构后的项目目录
- 从备份目录恢复:
cp -r coder-common-thin-backend_backup_* coder-common-thin-backend - 或使用修复脚本进行增量修复
脚本版本信息
- v1.0.0:初始版本
- v1.1.0:修复bash兼容性问题,改进Java包结构迁移逻辑,增加修复工具
- v1.1.1:修复sed正则表达式导致的目录名反斜杠问题,增加快速修复工具
- v1.2.0:重大更新 - 完善反斜杠自动清理,增加项目根目录自动重命名功能
- v1.2.1:关键修复 - 彻底解决反斜杠问题,增强MyBatis XML处理,改进验证逻辑
- v1.2.2:模块修复 - 修复modules子模块重命名遗漏问题,支持多层级子模块处理
- v1.2.3:配置修复 - 修复数据库连接字符串和文件路径配置未更新问题
技术支持
如果在使用过程中遇到问题,请:
- 检查脚本执行日志
- 查看备份目录是否完整
- 联系开发团队获取支持
版本:v1.2.3
作者:Leocoder
更新时间:2025-09-22