第一章、 项目改造准备工作
1.1 保留:日志,切面、Util、配置等
将旧项目rpm改名为新项目itm,对整个项目的构建配置、包结构、资源文件进行系统性调整。
- 保留:日志配置(Logback/Log4j2)、切面类(AOP)、业务代码逻辑、数据库配置等核心功能代码。
1.2 备份项目
在动手之前,务必先对原项目做一次完整备份(复杂一份),或者使用 Git 创建分支:这样即使改坏了,也能随时回退。
Git 仓库地址:克隆到新的 git 仓库,不要 push 回旧项目仓库
gitcheckout-brename-rpm-to-itm2. 修改 Maven 配置(pom.xml)
2.1 修改项目坐标
打开根目录下的pom.xml,找到<project>标签下的基本信息,将rpm改为itm:
<!-- 修改前 --><groupId>com.example</groupId><artifactId>rpm</artifactId><version>1.0.0</version><name>rpm</name><description>RPM Project</description><!-- 修改后 --><groupId>com.example</groupId><artifactId>itm</artifactId><version>1.0.0</version><name>itm</name><description>ITM Project</description>注意:artifactId是 Maven 识别项目身份的核心标识,必须修改。name和description是描述性信息,建议同步修改以保持一致性。
2.2 检查父 POM 和子模块
如果你的项目是多模块结构(有父 POM 和子模块),需要同步修改:
<!-- 父 POM 中的 modules 声明 --><modules><module>itm-core</module><module>itm-web</module><module>itm-service</module></modules>同时,每个子模块的pom.xml中,<parent>标签里的<artifactId>也要改为新的父项目名称:
<parent><groupId>com.example</groupId><artifactId>itm</artifactId><version>1.0.0</version><relativePath>../pom.xml</relativePath></parent>2.3 检查依赖引用
如果项目内部模块之间存在相互依赖,也要同步修改:
<!-- 修改前 --><dependency><groupId>com.example</groupId><artifactId>rpm-core</artifactId><version>1.0.0</version></dependency><!-- 修改后 --><dependency><groupId>com.example</groupId><artifactId>itm-core</artifactId><version>1.0.0</version></dependency>2.4 修改打包配置
如果pom.xml中有<build>配置,检查最终打包文件名:
<build><finalName>itm</finalName><!-- 或 --><finalName>${project.artifactId}</finalName></build>这样打包出来的 JAR/WAR 文件名就会是itm.jar或itm.war。
2.5 修改内容:
在pom.xml中,除了坐标信息,以下内容也需要同步修改:
<!-- 项目描述信息 --><name>itm</name><description>ITM Project</description><url>https://itm.example.com</url>- properties 节点:项目自定义属性(如版本号、编码、镜像仓库地址等),若包含
rpm字样需同步替换。 - plugin 配置:
maven-jar-plugin的finalName、docker-maven-plugin的镜像名称等,确保打包产物和镜像名称为itm。
3. 修改代码层面
3.1 修改 Java 包名
在 IDEA 中,右键点击根包名(如com.example.rpm),选择Refactor → Rename,将rpm改为itm。IDEA 会自动更新所有引用该包的 Java 文件。
注意:使用 IDEA 的 Refactor 功能而不是手动逐个修改,可以避免遗漏 import 语句。
3.2 修改内容:
代码层面除了包名,以下内容也常包含旧项目名称,需要逐一排查:
// 项目内常量publicstaticfinalStringPROJECT_NAME="itm";publicstaticfinalStringAPP_NAME="itm";// 自定义异常、返回体打印的项目标识// 定时任务、线程池名称前缀threadFactory.setNamePrefix("itm-service-");// RabbitMQ/Kafka 消息队列队列名、topic 名称// Redis key 缓存前缀redisKeyPrefix="itm:";3.3 检查切面类中的包引用
你的切面类(AOP)中如果有@Pointcut表达式指向具体的包路径,需要同步修改:
// 修改前@Pointcut("execution(* com.example.rpm.service.*.*(..))")// 修改后@Pointcut("execution(* com.example.itm.service.*.*(..))")3.4 修改内容:
启动类(@SpringBootApplication注解的类)的包名和类名如果包含rpm,也需要修改:
// 修改前packagecom.example.rpm;@SpringBootApplicationpublicclassRpmApplication{publicstaticvoidmain(String[]args){SpringApplication.run(RpmApplication.class,args);}}// 修改后packagecom.example.itm;@SpringBootApplicationpublicclassItmApplication{publicstaticvoidmain(String[]args){SpringApplication.run(ItmApplication.class,args);}}此外,以下注解中的包路径或名称也容易遗漏,需同步检查:
@ComponentScan("com.example.itm")@MapperScan("com.example.itm.mapper")@ConditionalOnProperty(name="itm.enabled",havingValue="true")@CacheNames("itm:cache")3.5 怎么修改IDEA左上角项目名称
修改了pom文件和文件路径的项目名字后,IDEA左上角项目名称没有变化。
点击Project Structure
修改project name即可
.idea 文件夹 + xxx.iml 文件能不能删
1、.idea 文件夹
✅ 可以删除,安全,不会损坏你的项目代码
作用:IntelliJ‑IDEA 的本地配置缓存:模块设置、运行配置、索引、IDE 布局等,只存在你电脑,不属于项目源码。
删除后果:
IDE 下次打开项目会重新生成整套 .idea
之前配好的运行参数、SDK、IDE 视图布局丢失
Git 建议:不要提交 .idea,一般加到 .gitignore
2、xxx.iml 文件
✅ 也可以删掉
iml = IDEA 模块配置文件,标记源码根目录、依赖。删掉打开项目后 IDEA 会自动重建。
如果你是 Maven 项目 (pom.xml):
iml、.idea 全部删掉,然后:
IDEA 重新打开文件夹
右键 pom.xml → Add as Maven Project
即可恢复完整项目。
4.配置文件
3.1 修改内容:
检查src/main/resources下的配置文件:
application.yml 或 application.properties:
# 修改前spring:application:name:rpmredis:key-prefix:rpm:# 修改后spring:application:name:itmredis:key-prefix:itm:需要同步修改的配置项包括:
- 端口号
server.port(避免和旧项目冲突) - 静态资源、模板文件内写死的项目名称
- 文件上传下载存储路径
- nacos 注册中心:命名空间、dataId、group
- Redis数据库序号、key 统一前缀
- 数据库:不要连旧项目数据库
- 定时任务、业务开关配置项
- 跨域、白名单、业务硬编码 IP
- actuator监控端点、info 信息
bootstrap.yml(nacos 项目很容易忘记改 bootstrap):
# 修改前spring:application:name:rpm# 修改后spring:application:name:itm日志路径、日志文件名、logback-spring.xml 或 log4j2.xml:
<!-- 修改前 --><propertyname="LOG_FILE"value="./logs/rpm.log"/><!-- 修改后 --><propertyname="LOG_FILE"value="./logs/itm.log"/>5 外部配置
5.1 修改内容:
外部配置和部署相关文件也需要同步修改,避免遗漏:
# IDEA:重命名根模块,检查 .idea 文件夹(删掉重新导入最稳)# 数据库连接指向全新库,没有共用旧库# Nacos 服务名称不和旧服务重名# Dockerfile:jar 包文件名(对应 pom finalName)# shell 启动脚本 .sh:java -jar itm-xxx.jar# k8s yaml、helm 配置、容器名称、镜像名# Jenkins 流水线脚本