1、IDEA 官方定义

(1)Project

A project is a top-level organizational unit for your development work in IntelliJ IDEA. In its finished form, a project may represent a complete software solution. A project is a collection of: Your work results: source code, build scripts, configuration files, documentation, artifacts, etc. SDKs and libraries that you use to develop, compile, run and test your code. Project settings that represent your working preferences in the context of a project.

翻译:
项目是您在IntelliJ IDEA中开发工作的顶级组织单元。在其完成的形式中,一个项目可以代表一个完整的软件解决方案。

(2)Module

A module is a part of a project that you can compile, run, test and debug independently. Modules are a way to reduce complexity of large projects while maintaining a common (project) configuration. Modules are reusable: if necessary, a module can be included in more than one project.

翻译::
模块是项目的一部分,可以独立编译、运行、测试和调试。
模块是在维护公共(项目)配置的同时减少大型项目复杂性的一种方法。
模块是可重用的:如果需要,一个模块可以包含在多个项目中。

2、IDEA中的project和module

IDEA中的Project相当于Eclipse中的 Workspace,Module 相当于Eclipse系中的 Project。

区别如下:

(1)在IntelliJ IDEA中Project是最顶级的结构单元,一个Project是由一个或者多个Module组成。一些主流大型项目结构基本上都是由多个Module的结构组成。

(2)主流大型项目一般都是按功能进行划分的,如:user-login-module(用户登录模块)、user-role-module(用户角色模块)、user-permission-module(用户权限模块)等,模块之间彼此相互依赖。通过这些Module的命名可以看出,它们都处于同一个项目中的模块,彼此之间有着不可分割的业务关系。

(3)在一般情况下,IntelliJ IDEA是默认单Project单Module的,这使Project和Module合二为一,在没有修改存储路径的前提下,显然Project对Module具有强约束作用。

3、总结:

(1)IDEA中的Project可以被理解成当前工作空间,而每一个Module就是这个工作空间里的工作项目。Project既是最顶层的结构单元——起了目录的作用,也是最底层的工作环境——各个Module在上面工作。

(2)一个Project中可以定义多个Module,Project与各个Module之间属于父子关系,各个Module之间则属于兄弟关系

4 Project和Module的关系

1、Project:IDEA是以Project为单位的,Project的名称与Project的文件夹名可以不一样

2、Module:Module是Project下的一个模块,Module的名称与Module的文件名可以不一样;Project和Moudle可以同名,也可以是同一个文件夹(即.idea文件夹在那个文件夹,则此文件夹为Project文件夹)

3、Project与Module如何关联:如果Project为普通项目,则Project和Module之间通过.idea文件夹下的module.xml关联;如果Project为Maven项目,则Project和Module之间通过某Module下面的pom.xml文件关联