原文地址:https://blog.csdn.net/qq_35246620/article/details/65448689

在 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-module、user-facade-module 和 user-hessian-module 等等,模块之间彼此可以相互依赖。通过这些Module的命名可以看出,她们都是处于同一个项目中的模块,彼此之间是有着不可分割的业务关系的。

因此,咱们可以大致总结出:一个Project是由一个或多个Module组成,尽量让各模块处于同一项目之中,此时彼此之间具有互相依赖的关联关系。在这里,之所以说“尽量”,是因为 IntelliJ IDEA 的Project是一个没有具备任何编码设置、构建等开发功能的,主要起到一个项目定义、范围约束、规范类型的效果,或许,咱们也可以简单地理解Project就是一个单纯的目录,只是这个目录在命名上必须有其代表性的意义。在一般情况下,IntelliJ IDEA 是默认单ProjectModule的,这时ProjectModule合二为一,在没有修改存储路径的时候,显然ProjectModule具有强约束作用啦!不过说实话,这里就是将Module的内容放在了Project的目录下,实际上还是Module自己约束自己。

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

如上图所示,通过观察ProjectModule的存储地址,咱们可以发现,在此处建立了一个名为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构建完成!

最新文章

  1. java web(三) Tomcat虚拟目录映射方式
  2. maven-bundle-plugin 2.4.0以下版本导出META-INF中的内容到MANIFEST.MF中
  3. 【百度地图学习-一】初始化以及TextOverlay
  4. Entity Framework(1)
  5. TVB-Gone 红外编码方法
  6. 连接各种数据库神器———DbVisualizer
  7. Android RSA加密对象数据
  8. Ubuntu中设置静态IP和DNS(转载)
  9. 利用WebBrowser彻底解决Web打印问题
  10. Conjugate
  11. UEP-添加
  12. Rational AppScan 标准版可扩展性和二次开发能力简介
  13. mysql 创建用户命令-grant
  14. 【原创 Hadoop&Spark 动手实践 6】Spark 编程实例与案例演示
  15. 20135337——linux第四次实践:字符集总结与分析
  16. keras 文本分类 LSTM
  17. 跟踪EBS客户端的IP地址
  18. 20165233 学习基础和C语言基础调查
  19. 多线程拷贝备份文件方法(Windows)
  20. HTTP headers with the Link header field HTTP协议支持分页(Pagination)操作,在Header中使用 Link 即可

热门文章

  1. 关于几种UI框架简单总结
  2. Word文档转Markdown插件(Windows)
  3. Maven生成项目文档
  4. 【Kotlin】spring boot项目中,在Idea下启动,报错@Configuration class 'BugsnagClient' may not be final.
  5. 九度OJ #1437 To Fill or Not to Fil
  6. 一个简单演示样例来演示用PHP訪问表单变量
  7. Intel processor brand names-Xeon,Core,Pentium,Celeron----Atom
  8. Qt、C++ 简易计算器
  9. CodeForces 318D Ants
  10. openwrt gstreamer实例学习笔记(四. gstreamer Bins)