IntelliJ IDEA 中 Project 和 Module 的概念及区别

Posted CG国斌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IntelliJ IDEA 中 Project 和 Module 的概念及区别相关的知识,希望对你有一定的参考价值。

在 IntelliJ IDEA 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了ProjectModule这两个概念。接下来,就让我们一起看看 IntelliJ IDEA 官方是如何描述两者的吧!对于 Project,IntelliJ IDEA 官方是这样介绍的

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.

A project has one or more modules as its parts.

对于 Module,IntelliJ IDEA 官方是这样介绍的

  • 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.

通过上面的介绍,我们知道:在 IntelliJ IDEA 中Project是最顶级的结构单元,然后就是Module,一个Project可以有多个Module。目前,主流的大型项目结构基本都是多Module的结构,这类项目一般是按功能划分的,比如:user-core-moduleuser-facade-moduleuser-hessian-module等等,模块之间彼此可以相互依赖。通过这些Module的命名可以看出,它们都是处于同一个项目中的模块,彼此之间是有着不可分割的业务关系。因此,我们可以大致总结出:一个Project是由一个或多个Module组成,

  • 当为单Module项目的时候,这个单独的Module实际上就是一个Project
  • 当为多Module项目的时候,多个模块处于同一个Project之中,此时彼此之间具有互相依赖的关联关系。

此外, IntelliJ IDEA 的Project是一个不具备任何编码设置、构建等开发功能的概念,其主要作用就是起到一个项目定义、范围约束、规范类型的效果,或许,我们也可以简单地理解Project就是一个单纯的目录,只是这个目录在命名上必须有其代表性的意义。在缺省情况下,IntelliJ IDEA 是默认单ProjectModule的,这时ProjectModule合二为一,在没有修改存储路径的时候,显然ProjectModule具有强约束作用!不过说实话,这里就是将Module的内容放在了Project的目录下,实际上还是Module自己约束自己。

  • 标注 1Project name,项目名称;
  • 标注 2Project location,项目存储地址;
  • 标注 3Module name,模块名称;
  • 标注 4Module file location,模块存储地址。

如上图所示,通过观察ProjectModule的存储地址,我们可以发现,IntelliJ IDEA 在此处建立了一个名为user-core-module的目录,并将其放在了名为user-modules-project的目录下,而没有将两个目录合二为一,也就为我们建立多ModuleProject作了准备。

如上图所示,显然user-modules-project仅表现为一个目录而已。

如上图所示,依次点击File -> New -> Module,进入如下界面:

如上图所示,输入Module name之后,Content rootModule file location自动发生改变,然后点击Finish,完成:

如上图所示,我们在项目user-modules-project中,建立了两个Module,分别为user-core-moduleuser-hessian-module,然后我们再来看看存储目录:

如上图所示,显然在user-modules-project目录中,又多了一个名为user-hessian-module的目录。

至此,多ModuleProject构建完成!


———— ☆☆☆ —— 返回 -> 史上最简单的 IntelliJ IDEA 教程 <- 目录 —— ☆☆☆ ————

以上是关于IntelliJ IDEA 中 Project 和 Module 的概念及区别的主要内容,如果未能解决你的问题,请参考以下文章

intellij idea的project SDK如何设置?

IntelliJ IDEA 中 Project 和 Module 的概念及区别

intellij idea 怎么在project里的src创建图片文件夹

IntelliJ IDEA 的Project structure说明

IntelliJ IDEA 概念介绍

IntelliJ IDEA - 如何链接 IDEA Native Project 到 Github Origin Project?