一键改包
这篇解决什么
把 Maven groupId / artifactId、Java 根包、应用标题一次性换成自己的名字。后端提供 ProjectReactor:按当前工程复制出新目录并做字符串替换。
多数情况不必改包
只换系统名、Logo,走 logo、系统名称等配置 即可。改根包之后,再合并后续提交会变难。
脚本在哪
| 名称 | 说明 | 仓库路径 |
|---|---|---|
ProjectReactor | 测试源码,不进生产包 | ruoyi-office/yudao-gateway/src/test/java/cn/iocoder/yudao/ProjectReactor.java |
当前常量:
| 名称 | 说明 | 当前值 |
|---|---|---|
GROUP_ID | Maven groupId | cn.iocoder.cloud |
ARTIFACT_ID | Maven artifactId | yudao |
PACKAGE_NAME | Java 根包 | cn.iocoder.yudao |
TITLE | 应用标题 | 宇擎管理系统 |
main 里改这四个 New 字段:
| 名称 | 说明 | 仓库路径 |
|---|---|---|
groupIdNew | 新 groupId | 类内 main |
artifactIdNew | 新 artifactId | 类内 main |
packageNameNew | 新根包 | 类内 main |
titleNew | 新标题 | 类内 main |
新目录默认是 projectBaseDir + "-new"。路径里不能再出现 cn.iocoder.yudao、yudao、Yudao,否则替换会把目录改坏。

示意图:对应类中要改的那几行。
怎么跑
- IDEA 打开
ProjectReactor,填好上表四个 New 字段。 - Working directory 设成后端根
ruoyi-office/。 - 跑
main。脚本复制文本文件并替换;图片、字体、xdb只拷贝。 - 用 IDEA 打开新目录,按 快速开始 启动。
Working directory
getProjectBaseDir() 读的是 user.dir。若停在 yudao-gateway/,只会复制网关子模块。
新目录冲突
日志出现「存在冲突名称」,通常是当前路径仍带 yudao。先把文件夹改成不含该关键字的临时名,再跑一次。
跑完还要:
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 重新导库 | 不要沿用旧初始化数据 | ruoyi-office-db/ 与快速开始 |
| 清空 Redis | 避免旧 token、租户缓存 | 本机默认 127.0.0.1:6379 |
扩展时注意
脚本只处理你喂给它的那棵目录。ruoyi-office-vben、ruoyi-office-uniapp、ruoyi-office-db 不会被这次 main 改到,标题和 .env 要在对应仓单独改。Java 里带 @RequestMapping 的 Controller 会随根包一起改路径。
artifactId 很短,替换顺序放在包名后面。改包后不要指望对原仓无冲突 git pull。
需要实施支持时走官网企微,见 文档站首页。
配置与操作
按仓库脚本改包名和 artifactId,改完不要对原仓无冲突 pull。
开启见 框架层。
