利用IDEA工具修改Maven多模塊項(xiàng)目標(biāo)識(shí)包名全過程記錄
一、背景
當(dāng)我們?yōu)榧追椒?wù)提供軟件開發(fā)服務(wù)時(shí),需要按照甲方的要求去修改軟件的標(biāo)識(shí),對(duì)于Maven
項(xiàng)目來說就對(duì)應(yīng)著groupId
,一般地寫對(duì)方公司的域名,如com.example
。因此,項(xiàng)目中使用到的原來的代碼需要賦予其新的標(biāo)識(shí)。
二、具備的能力
2.1 IDEA
IDEA的版本為2020.2。
- IDEA的全文檢索,快捷鍵
Ctrl + Shift + R
利用該功能可以查找和修改作用域?yàn)檎麄€(gè)項(xiàng)目的相關(guān)字符串。 - 文件夾遷移功能,
move
命令
項(xiàng)目的包對(duì)應(yīng)著操作系統(tǒng)的文件,如com.example
對(duì)應(yīng)著com\example
,因此修改包名其實(shí)就是把文件遷移到另一個(gè)文件夾下。
2.2 Maven多模塊項(xiàng)目
一般地,Maven多模塊項(xiàng)目的包名package
和groupId
保持一致,這樣對(duì)文件的配置十分有利。
三、步驟
3.1 移動(dòng)包
如圖所示,在某一個(gè)子模塊的java根目錄下,選中包名右鍵選擇重構(gòu)Refactor
。接著選擇 Move Package or Directory
。
3.2 選擇重構(gòu)的條件
即選擇第一個(gè)
點(diǎn)擊確認(rèn)完成遷移
IDEA會(huì)檢索所有項(xiàng)目中和該包有關(guān)的文件夾進(jìn)行遷移
3.3 清掃戰(zhàn)場
遷移完畢后,我們會(huì)發(fā)現(xiàn),項(xiàng)目根目錄及test測(cè)試目錄下會(huì)留下原來的包,遷移完畢后,遺留包成為空的文件夾,刪除即可。
3.4 小心毒刺
系統(tǒng)的配置會(huì)影響到程序的運(yùn)行,比如原來的組件掃描的包名、序列化的問題會(huì)導(dǎo)致程序運(yùn)行不成功。因此,這些“毒刺”需要剔除。
3.4.1 redis序列化問題
3.4.1.1 說明
筆者對(duì)redis的鍵值都進(jìn)行了序列化的設(shè)置,因此,重啟后臺(tái)后,訪問到的redis序列化對(duì)象失敗導(dǎo)致前臺(tái)訪問接口失敗。
3.4.1.2 解決
清空redis 庫即可。
3.4.2 組件掃描
3.4.2.1 說明
ComponentScan、EnableJpaRepositories、EntityScan注解都和掃描的包有關(guān),默認(rèn)掃描的包為啟動(dòng)類所在的包,因此如果maven模塊包命名改變會(huì)影響注解的包值
3.4.2.2 解決
修改即可掃描包名
四、其它
對(duì)于其它標(biāo)識(shí)需要修改的,通過IDEA的全局搜索工具可以替代你想要的任何字符。
相關(guān)文章
SpringBoot中的響應(yīng)式web應(yīng)用詳解
這篇文章主要介紹了SpringBoot中的響應(yīng)式web應(yīng)用詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11java使用zookeeper實(shí)現(xiàn)的分布式鎖示例
這篇文章主要介紹了java使用zookeeper實(shí)現(xiàn)的分布式鎖示例,需要的朋友可以參考下2014-05-05jenkins+Maven從SVN上構(gòu)建項(xiàng)目的方法
這篇文章主要介紹了jenkins+Maven從SVN上構(gòu)建項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09Java 動(dòng)態(tài)模擬操作系統(tǒng)進(jìn)程調(diào)度算法
這篇文章主要介紹了采用java語言編程模擬N個(gè)進(jìn)程采用動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先進(jìn)程調(diào)度算法。文中代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2021-12-12Java線程創(chuàng)建靜態(tài)代理模式代碼實(shí)例
這篇文章主要介紹了Java線程創(chuàng)建靜態(tài)代理模式代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11SpringBoot整合redis+Aop防止重復(fù)提交的實(shí)現(xiàn)
Spring Boot通過AOP可以實(shí)現(xiàn)防止表單重復(fù)提交,本文主要介紹了SpringBoot整合redis+Aop防止重復(fù)提交的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07