測試用例:普通java項目
創建非maven項目時會有三個路徑要填寫。Project location、Content root和Module file location。
可以看到三個路徑默認是相同的。經過測試發現Project location若是發生改變,Content root和Module file location也隨之發生改變。
Content root發生改變,Project location不會變化,但Module file location會隨之改變。
Module file location發生改變,Project location和Content root不會變化。
說明idea雖然建議三個路徑保持一致,但是允許用戶自定義三個路徑。
創建一個Project location為D:\codebase\idea-workspace\java-demo
、
Content root為D:\codebase\idea-workspace\java-demo-content_root
和
Module file location為D:\codebase\idea-workspace\java-demo-module_file_location
D:\codebase\idea-workspace\java-demo.idea\modules.xml文件內容
D:\codebase\idea-workspace\java-demo-module_file_location\java-demo-content_root.iml文件內容
測試用例:maven項目
創建maven工程只有一個local路徑要填寫。
用idea創建maven工程只產生了一個目錄,說明maven強制Project location、Content root和Module file location路徑一致方便管理。
Content root
根目錄(Content root)是最核心的,他是src目錄的父目錄。在idea的工程結構中,搭建工程時需要Add Content Root,這個Content Root就是創建項目時我們輸入的路徑(簡單java工程content root是單獨的,Project location、Content root和Module file location三個路徑可以不一致,maven工程content root不是單獨的,maven強制Project location、Content root和Module file location路徑一致)。
總結:
- 普通java工程和maven工程,由工程目錄Projects local中.idea目錄的module.xml文件管理模塊,新增模塊,或刪除模塊, module.xml中
會隨之變化。 - 方便工程管理,Project location、Content root和Module file location三個路徑最好保持一致。