IntelliJ IDEA中Project与Module的概念以及区别

在 IntelliJ IDEA 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了Project和Module这两个概念。接下来,就让我们一起看看 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-module、user-facade-module和user-hessian-module等等,模块之间彼此可以相互依赖。通过这些Module的命名可以看出,它们都是处于同一个项目中的模块,彼此之间是有着不可分割的业务关系。因此,我们可以大致总结出:一个Project是由一个或多个Module组成,

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

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

标注 1Project name,项目名称;

标注 2Project location,项目存储地址;

标注 3Module name,模块名称;

标注 4Module file location,模块存储地址。

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

如上图所示,显然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的目录。

至此,多Module的Project构建完成!

到此这篇关于IntelliJ IDEA中Project与Module的概念以及区别的文章就介绍到这了,更多相关IntelliJ IDEA中Project与Module区别内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • idea创建包含多个springboot module的maven project的方法

    1 创建maven project file-> new -> project 左侧选maven,不勾选右侧,如下图 然后,点击next,填入name和GroupId属性,如下图: 点击finish则完成创建. 删除src文件夹,在pom文件中添加 <packaging>pom</packaging> 到此这篇关于idea创建包含多个springboot module的maven project的方法的文章就介绍到这了,更多相关idea创建springboot modu

  • IntelliJ IDEA中Project与Module的概念以及区别

    在 IntelliJ IDEA 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了Project和Module这两个概念.接下来,就让我们一起看看 IntelliJ IDEA 官方是如何描述两者的吧! 对于 Project,IntelliJ IDEA 官方是这样介绍的: A project is a top-level organizational unit for your development work in IntelliJ IDEA. In its fin

  • 老生常谈之Java中堆和栈的概念和区别

    当一个人开始学习Java或者其他编程语言的时候,会接触到堆和栈,由于一开始没有明确清晰的说明解释,很多人会产生很多疑问,什么是堆,什么是栈,堆和栈有什么区别?更糟糕的是,Java中存在栈这样一个后进先出(Last In First Out)的顺序的数据结构,这就是java.util.Stack.这种情况下,不免让很多人更加费解前面的问题.事实上,堆和栈都是内存中的一部分,有着不同的作用,而且一个程序需要在这片区域上分配内存.众所周知,所有的Java程序都运行在JVM虚拟机内部,我们这里介绍的自然

  • Java中堆和栈的概念和区别

    当一个人开始学习Java或者其他编程语言的时候,会接触到堆和栈,由于一开始没有明确清晰的说明解释,很多人会产生很多疑问,什么是堆,什么是栈,堆和栈有什么区别?更糟糕的是,Java中存在栈这样一个后进先出(Last In First Out)的顺序的数据结构,这就是java.util.Stack.这种情况下,不免让很多人更加费解前面的问题.事实上,堆和栈都是内存中的一部分,有着不同的作用,而且一个程序需要在这片区域上分配内存.众所周知,所有的Java程序都运行在JVM虚拟机内部,我们这里介绍的自然

  • 浅析php中抽象类和接口的概念以及区别

    复制代码 代码如下: //抽象类的定义:abstract class ku{  //定义一个抽象类  abstract function kx();  ......}function aa extends ku{  //实现抽象类的方法  function kx(){    echo 'sdsf';  }}//使用方法$aa=new aa;$aa->kx();//1.定义一些方法,子类必须完全实现这个抽象中所有的方法//2.不能从抽象类创建对象,它的意义在于被扩展//3.抽象类通常具有抽象方法,

  • idea中的project、module、artifact的具体使用

    目录 一.Project[工程] 二.Modules[模块,一个poject可包含多个] 三.Libraries 四.Facets[设置 Tomcat读取的web.xml配置文件 和 Web资源目录] 五.Artifacts[项目的打包部署设置,这个是项目配置里面比较关键的地方] idea中没有工作空间的概念,每一个项目都是一个工作空间,所以我们打开一个新的项目时往往都要配置一下jdk.编译版本.编译输出路径.maven打包设置等.project下有一个module的概念,这个module类似于

  • 在IntelliJ IDEA中创建和运行java/scala/spark程序的方法

    本文将分两部分来介绍如何在IntelliJ IDEA中运行Java/Scala/Spark程序: 基本概念介绍 在IntelliJ IDEA中创建和运行java/scala/spark程序 基本概念介绍 IntelliJ IDEA 本文使用版本为: ideaIC-2020.1 IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境.IntelliJ在业界被公认为最好的java开发工具,它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等,免费版只支持Jav

  • 在IntelliJ IDEA中为自己设计的类库生成JavaDoc的方法示例

    因为某个项目需要,为团队其他兄弟姐妹开发了一个 XML 分析处理器,并将其设计为一个类库,提供相应的 API 接口.为了方便大家的使用,需要生成对应的 JavaDoc 帮助文档,就像 JavaSE 标准库提供的 JavaDoc 那样.我的开发工具为 IntelliJ IDEA 12.1.6,本身提供了很好的 JavaDoc 生成功能,以及标准 JavaDoc 注释转换功能,其实质是在代码编写过程中,按照标准 JavaDoc 的注释要求,为需要暴露给使用者的类.方法以及其他成员编写注释.然后使用

  • IntelliJ IDEA中代码一键生成方法

    之前有不少小伙伴问松哥微人事项目(https://github.com/lenve/vhr) 使用的 MyBatis 逆向工程在哪里?其实旧版微人事当时没有使用逆向工程,是我自己手动敲出来的,当然手动敲的工作量非常大. 今年发出来的新版微人事,我使用了逆向工程自动生成实体类和 dao 层的代码.MyBatis 的逆向工程要么需要添加依赖,要么需要自己去网上下载 jar,用起来还是有点麻烦,所以,今天和小伙伴们介绍一款 IntelliJ IDEA 上的免费开源插件,叫做 EasyCode,可以方便

  • IntelliJ IDEA中Scala、sbt、maven配置教程

    IDEA配置scala插件 进入File--Settings--Plugins,在搜索框搜索scala,然后点击安装,等安装完毕,需要重启IDEA. 或者也可以手动安装,先去https://plugins.jetbrains.com/plugin/1347-scala下载你IDEA版本对应的scala插件.接着,还是上面同个地方,点击Install Plugin from Disk...,然后选择你刚才下载的zip文件. 需要注意,这里安装的只是IDEA的scala插件 接着,我们新建一个sca

  • intellij idea中spring boot properties文件不能自动提示问题解决

    1.如图所示,Spring配置文件应该带有是树叶标识,但此处显示的为普通的properties文件 2.选择Open Module Settings 3.选择加号 4.选择需要添加为Spring配置的文件 5.配置完成 到此这篇关于intellij idea中spring boot properties文件不能自动提示问题解决的文章就介绍到这了,更多相关spring boot properties不能自动提示内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

随机推荐