当前位置 : 主页 > 编程语言 > java >

利用IDEA工具修改Maven多模块项目标识包名全过程记录

来源:互联网 收集:自由互联 发布时间:2023-01-30
目录 一、背景 二、具备的能力 2.1 IDEA 2.2 Maven多模块项目 三、步骤 3.1 移动包 3.2 选择重构的条件 3.3 清扫战场 3.4 小心毒刺 3.4.1 redis序列化问题 3.4.2 组件扫描 四、其它 一、背景 当我们
目录
  • 一、背景
  • 二、具备的能力
    • 2.1 IDEA
    • 2.2 Maven多模块项目
  • 三、步骤
    • 3.1 移动包
    • 3.2 选择重构的条件
    • 3.3 清扫战场
    • 3.4 小心毒刺
      • 3.4.1 redis序列化问题
      • 3.4.2 组件扫描
  • 四、其它

    一、背景

    当我们为甲方服务提供软件开发服务时,需要按照甲方的要求去修改软件的标识,对于Maven项目来说就对应着groupId,一般地写对方公司的域名,如com.example。因此,项目中使用到的原来的代码需要赋予其新的标识。

    二、具备的能力

    2.1 IDEA

    IDEA的版本为2020.2。

    • IDEA的全文检索,快捷键 Ctrl + Shift + R利用该功能可以查找和修改作用域为整个项目的相关字符串。
    • 文件夹迁移功能,move命令
      项目的包对应着操作系统的文件,如com.example对应着com\example,因此修改包名其实就是把文件迁移到另一个文件夹下。

    2.2 Maven多模块项目

    一般地,Maven多模块项目的包名packagegroupId保持一致,这样对文件的配置十分有利。

    三、步骤

    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的全局搜索工具可以替代你想要的任何字符。

    网友评论