当我们为甲方服务提供软件开发服务时,需要按照甲方的要求去修改软件的标识,对于Maven项目来说就对应着groupId,一般地写对方公司的域名,如com.example,接下来通过本文给大家分享IDEA修改Maven多模块项目标识包名,感兴趣的朋友一起看看吧
一、背景
当我们为甲方服务提供软件开发服务时,需要按照甲方的要求去修改软件的标识,对于Maven项目来说就对应着
groupId
,一般地写对方公司的域名,如com.example
。因此,项目中使用到的原来的代码需要赋予其新的标识。
二、具备的能力
2.1 IDEA
IDEA的版本为2020.2。
- IDEA的全文检索,快捷键
Ctrl + Shift + R
利用该功能可以查找和修改作用域为整个项目的相关字符串。 - 文件夹迁移功能,
move
命令
项目的包对应着操作系统的文件,如com.example
对应着com\example
,因此修改包名其实就是把文件迁移到另一个文件夹下。
2.2 Maven多模块项目
一般地,Maven多模块项目的包名package
和groupId
保持一致,这样对文件的配置十分有利。
三、步骤
3.1 移动包
如图所示,在某一个子模块的java根目录下,选中包名右键选择重构Refactor
。接着选择 Move Package or Directory
。
3.2 选择重构的条件
即选择第一个
点击确认完成迁移
IDEA会检索所有项目中和该包有关的文件夹进行迁移
3.3 清扫战场
迁移完毕后,我们会发现,项目根目录及test测试目录下会留下原来的包,迁移完毕后,遗留包成为空的文件夹,删除即可。
3.4 小心毒刺
系统的配置会影响到程序的运行,比如原来的组件扫描的包名、序列化的问题会导致程序运行不成功。因此,这些“毒刺”需要剔除。
3.4.1 redis序列化问题
3.4.1.1 说明
笔者对redis的键值都进行了序列化的设置,因此,重启后台后,访问到的redis序列化对象失败导致前台访问接口失败。
3.4.1.2 解决
清空redis 库即可。
3.4.2 组件扫描
3.4.2.1 说明
ComponentScan、EnableJpaRepositories、EntityScan注解都和扫描的包有关,默认扫描的包为启动类所在的包,因此如果maven模块包命名改变会影响注解的包值
3.4.2.2 解决
修改即可扫描包名
四、其它
对于其它标识需要修改的,通过IDEA的全局搜索工具可以替代你想要的任何字符。
本文标题为:利用IDEA工具修改Maven多模块项目标识包名全过程记录
基础教程推荐
- java基础知识之FileInputStream流的使用 2023-08-11
- springboot自定义starter方法及注解实例 2023-03-31
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- Java实现线程插队的示例代码 2022-09-03
- Java数据结构之对象比较详解 2023-03-07
- Java实现查找文件和替换文件内容 2023-04-06
- Java并发编程进阶之线程控制篇 2023-03-07
- java实现多人聊天系统 2023-05-19
- Java文件管理操作的知识点整理 2023-05-19