idea複製maven項目,source root爲原項目的解決方法

爲什麼要複製module?

    1.module中有大量相同的重複代碼(多爲測試的時候),一個個複製文件太麻煩;

    2.網速慢,新建maven項目常常要下載好多包,構建耗費大量的時間;

    3.版本問題。如springboot項目,idea只提供最近的幾個版本的可選項,現在都是2.x版本,想新建springboot1.x版本的module,需要先選擇一個2.x的版本,然後等創建完成後在手動改爲1.x版本。這樣會造成不必要的下載,更重要的是2.x的自動生成測試類和1.x的不同,編譯運行時會報錯,需要手動改,很麻煩。

所以如果有一個已經存在的module,採用複製的方法往往更加方便快捷。

 

idea複製maven項目,可以直接ctrl+c,crtl+v粘貼,如下圖:

shiro-test-copy是複製之後的項目,可以看到該項目並沒有加粗,說明還沒有被識別爲module。

如果是新建的module,則默認會將module寫入父工程的pom配置文件;而複製的項目則不會,所以應該手動的將module寫入配置文件。如下圖:

上圖,在父工程的pom文件中增加了module,可以看到左側項目的module是“shiro-test(1)”,而右側有兩個shiro-test,證明module已經被項目識別,但是module名稱沒有改變,所以下一步要修改module名稱。

修改爲與目錄名稱相同的module名,我這裏修改爲shiro-test-copy,就可以看到複製的項目被加粗了。

 

到此,複製項目已經被識別爲module,我們也修改了module名稱使之與項目名對應,也修改了對應的pom文件的artifactId。

打開項目,發現新的問題出現了:

新項目的source root是shiro-test,這樣會導致The root already belongs to module "XXX"的錯誤。

解決方法:

    打開project structure,找到被複制項目(這裏是shiro-test),將複製後新加的source文件夾刪除即可。如下圖:

source root消失,可以碼代碼了。。。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章