利用IDEA工具修改Maven多模块项目标识包名全过程记录
目录
- 一、背景
- 二、具备的能力
- 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多模块项目的包名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的全局搜索工具可以替代你想要的任何字符。
相关推荐
-
Intellij Idea 多模块Maven工程中模块之间无法相互引用问题
一.问题背景 在Intellij idea中,新建Maven项目,在魔项目中新建多个模块,发现模块间相互调用失败 二.问题原因 模块间无法相互引用为IDEA的一个BUG 三.问题解决 1.点击项目右上角 [Project Struct](Mac快捷键: ⌘;) 2.选中modules->Dependencis-> + -> add Modules Dependency,选择你需要增加的依赖 3.如果 点击Apply无法确认,报错:删除source标签中已经有的依赖,点'x'即可删除 到此
-
基于maven使用IDEA创建多模块项目
鉴于最近学习一个分布式项目的开发,讲一下关于使用IntelliJ IDEA基于Maven创建多模块项目的实际开发,可能有不合适的地方,但是项目是可以跑通的,也请有不足之处,都提出来,一起讨论下. 一. 项目工程目录 首先展示一下,最终整个项目的工程目录: 简单介绍一下目录结构: common-parent为所有项目的父项目,主要用来管理所有项目使用的jar包及其版本. common-utils为公共的工具类项目,继承父项目,它会被打成jar包供其它项目使用. taotao-manager为我们自
-
IntelliJ IDEA 构建maven多模块工程项目(详细多图)
食用前须知 本文以a b c 三个模块为例来搭建项目,以达到通俗易懂的初衷 模块a -– 基模块,就是人们常说的parent 模块b -– 其他模块都需要使用的一些工具,比如时间工具,json工具等 模块c -– 项目主要的内容,一般为聚合工程 先简单讲一下maven的一些特点 继承 这个可以理解为java中的继承类似,父类定义的东西,子类如果你想用就拿过来用就可以; 依赖 依赖就相当于我们java中的导包,二者有着异曲同工之妙; 你想用的东西只需要告诉maven它在哪就可以,它会自动帮你找过来
-
springboot+idea+maven 多模块项目搭建的详细过程(连接数据库进行测试)
创建之前项目之前 记得改一下 maven 提高下载Pom速度 记得 setting 中要改 maven 改成 阿里云的.具体方法 网上查第一步 搭建parents 项目,为maven项目 ,不为springboot 项目 记得修改groupId 第二步 搭建多个子模块, honor-dao honor-manager honor-common记得创建 honor-manager 的时候 要把他的gruopId 改成com.honor.manager 这里爆红的原因是 因为 我做到后面
-
Idea创建多模块maven聚合项目的实现
1.怎么理解maven的继承和聚合 maven多模块项目通常由一个父模块和若干个子模块构成,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块)相互关联.多模块适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理. 继承:和java中的继承有点类似,就是父pom.xml声明的版本和引用的jar,子模块可以不用再引用直接调用. 聚合:父模块包含多个子模块就是聚合,多个子模块之间可以调用,但是要注意关系,不要两个互相依赖,这样做的好处就是可以通过一条命令进
-
IntelliJ IDEA创建maven多模块项目(图文教程)
项目主要分成3个模块,wms-root为父模块,wms-core和wms-app(webapp类型的模块)为子模块. 一.Parent Project,创建wms-root父模块. 1.依次点击:File->New->Project 2.左侧面板选择maven(不要选择Create from archetype选项),如下图,点击Next即可. 3.依次补全如下信息,点击Next 4.输入项目名字.如ModuleProject,我们主要是在这个项目下创建我们的子模块. 5.这样我们就创建好了一
-
利用IDEA工具修改Maven多模块项目标识包名全过程记录
目录 一.背景 二.具备的能力 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 ID
-
SpringBoot+Maven 多模块项目的构建、运行、打包实战
本篇文章主要介绍了SpringBoot+Maven 多模块项目的构建.运行.打包,分享给大家,具体如下: 项目使用的工具: IntelliJ IDEA JDK 1.8 apache-maven-3.3.9 项目的目录: 主项目 springboot-multi 子模块 entity.dao.service.web 一.使用IDEA创建一个SpringBoot项目 : File -> new -> Project 项目名称为springboot-multi 二.删除项目中的src目录,把pom.
-
构建Maven多模块项目的方法
目录 构建Maven多模块项目 创建父模块 创建子模块:model层 创建子模块:dao模块 创建子模块:service层 创建子模块:web层 编译运行项目 Maven相关特性 父模块的配置 父模块聚合子模块 父模块统一管理依赖包 子模块在pom.xml中声明父模块 参考文章 构建Maven多模块项目 JavaWeb开发一般都会进行分层开发,通常分为 model,模型层 dao,数据访问层 service,业务逻辑层 web,表现层 分层后,各层职责明确,后期维护起来也会容易一些.接下来我们就
-
maven多模块项目依赖管理与依赖继承详解
目录 maven多模块项目依赖管理与依赖继承 1.指定父模块与默认继承 2.依赖管理 关于maven项目依赖继承问题 只需要在父项目中加入 并且把父项目已POM的形式 然后在子项目中以<parent>标签 maven多模块项目依赖管理与依赖继承 1.指定父模块与默认继承 dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承) 父模块的pom <?xml version="1.0" encoding="UTF-8
-
SpringBoot创建maven多模块项目实战代码
工作中一直都是一个人奋战一人一个项目,使用maven管理,看这个也挺好,但是总感觉没有充分发挥maven的功能,于是研究了一下这个,网上关于这个的文章很多,虽然不是很好,但我从中收获了很多,在这集百家所长,写一份实战记录,大家跟着我一块做吧! 声明:构建多模块不是最难的,难点是如果把多模块打包成一个执行jar. SpringBoot官方推崇的是富jar,也就是jar文件启动项目,所以如果在这里打war包我不具体介绍,如果需要的朋友可以给我留言,我回复. 建议clone项目后,在看教程(有不足的地
-
详解使用Maven构建多模块项目(图文)
Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理.尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块. 项目结构如下: test-hd-parent (父级) ---pom.xml ---test-hd-api (第三方接口层) ----pom.xml ---test-hd-foundation (基础工具层) ----pom.xml ---test-hd-resource (资源层) ----pom.xml -
-
SpringBoot创建多模块项目的全过程记录
构建项目 我们采用IntelliJ IDEA工具来创建一个Maven项目,项目的pom.xml要添加对应SpringBoot的配置,因为Maven多模块项目内的模块并不能独立的存在,必须有一个介质来包含,项目结构如下下图所示 我们创建的Maven项目结构如上图所示,pom.xml内我们对应的添加了对SpringBoot的支持,因为我们需要使用SpringBoot来作为项目基本框架,并在pom.xml配置文件引入了Web模块的支持,所以介质项目内的Module都会用于Web依赖 我们在介质Mave
-
Maven多模块之父子关系的创建
Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理.尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块. Maven多模块(pom) 1.1 父模块创建 先创建个简单的空的Maven Project作为父项目 1.2 子模块创建 重新创建一个Maven Project作为子项目 1.3 父子模块(继承关系) 注意:此时父子模块为两个独立的项目. 步骤1:子项目中加入<parent>节点,传入父项目完整坐标. 步骤
随机推荐
- Unicode编码大揭秘
- Bootstrap轮播图的使用和理解4
- 防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
- bootstrap datepicker插件默认英文修改为中文
- 选择器的朋友可以试试这个思路 延迟执行归并选择操作
- PHP添加MySQL数据记录代码
- Python实现微信公众平台自定义菜单实例
- vue.js绑定class和style样式(6)
- jQuery+ajax实现文章点赞功能的方法
- JQuery 获得绝对,相对位置的坐标方法
- 简单实现jQuery上传图片显示预览功能
- HTML5使用DeviceOrientation实现摇一摇功能
- 关于JS中的方法是否加括号的问题
- C++广播通信实例
- iOS socket网络编程实例详解
- 基于命令行执行带参数的php脚本并取得参数的方法
- android studio 新手入门教程(三)Github( ignore忽略规则)的使用教程图解
- spring boot容器启动流程
- Java中Connection timed out和Connection refused的区别讲解
- koa router 多文件引入的方法示例