测试用例:普通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三个路径最好保持一致。