模块
在 IntelliJ IDEA,模块是任何项目的重要组成部分——它会与项目一起自动创建。 项目可以包含多个模块——您可以 添加新模块、 对其进行分组 ,以及 卸载当前不需要的模块。
一般来说,模块由一个或多个内容根和一个模块文件组成,但模块可以在没有内容根的情况下存在。 内容根目录是用于存储代码的文件夹。 通常,它包含用于源代码、单元测试、资源文件等的子文件夹。 模块文件( .iml 文件)用于保存模块配置。
模块允许您将多种技术与框架结合在一个应用程序中。 在 IntelliJ IDEA 中,您可以为一个项目创建多个模块,每个模块都可以负责其自身的框架。 有关更多信息,请参见 添加框架(面)。

IntelliJ IDEA 模块与 Java 模块
在第 9 版中,Java 引入了 Java Platform Module System。 IntelliJ IDEA 已经有了模块的概念:每个 IntelliJ IDEA 模块都会构建自己的 classpath。 随着新的 Java 平台模块系统的引入,出现了两种模块化系统:IntelliJ IDEA 模块和使用 module-info.java 配置的新的 Java 9 模块。 本部分文档介绍 IntelliJ IDEA 模块。
有关 Java 9 支持的更多信息,请参阅 IntelliJ IDEA 2017.1 中对 Java 9 模块的支持和 Java 9 与 IntelliJ IDEA博客文章。
具有多个模块的项目
IntelliJ IDEA 允许您在一个项目中拥有多个模块,并且它们不一定都必须是 Java。 您可以为 Java 应用程序创建一个模块,为 Ruby on Rails 应用程序或任何其他支持的技术创建另一个模块。
一个由客户端和服务器端组成的应用程序是一个双模块项目的良好示例。
向您的项目添加一个新模块
在 项目 工具窗口中选择顶级目录。 请点击
工具栏上的图标或按下 Alt+Insert 键。 然后选择 模块。
新建模块 向导窗口打开。
从左侧列表中选择您要在应用程序中使用的语言。
如果您想使用 IntelliJ IDEA 中未自带的语言(例如 Python 或 PHP),请点击 通过插件获取更多语言 并选择相应的选项。
IDE 会打开一个对话框,您可以在其中选择和安装必要的语言插件。 之后,您可以关闭对话框并继续配置新项目。
给新模块命名。
请选择您项目中要使用的构建系统:原生 IntelliJ builder、 Maven 或 Gradle。
对于 Gradle,您还需要为构建脚本选择一种语言:Groovy 或 Kotlin。
请选择您想要使用的 JDK ,从 JDK 列表中。 您可以使用项目 SDK 或指定一个新的。
点击 创建。
导入现有模块
您可以通过从另一个项目中添加 .iml 文件来将模块导入到您的项目中:
在主菜单中,前往 。
在打开的对话框中,指定您要导入的模块的 .iml 文件路径,然后点击 打开。
通过这样做,您将另一个模块附加到项目中,而无需实际移动任何文件。 如果不需要将模块放在一个文件夹中,模块导入就完成了,您可以正常开始使用项目。
从现有源导入模块
如果项目来自外部模型,或者您想从现有的源代码创建一个模块,而这些代码不一定是导出的项目,请按照以下步骤将项目作为模块导入。
在主菜单中,前往 。
选择包含您的源代码、库和其他资产的目录,然后点击 打开。
在打开的对话框中,选择 从现有源创建模块 ,如果您想 从现有源代码创建一个新模块。
否则,选择 从外部模型导入项目 ,选择项目使用的外部模型,并按照向导的步骤操作。
组模块
在 IntelliJ IDEA ,您可以对模块进行逻辑分组。 如果您有一个包含多个模块的大型项目,分组会使您更容易浏览项目。 模块组可以嵌套:一个组可以包含其他子组。
创建新的模块组(已弃用)
在早期版本(2017.2 及更早版本)中,IntelliJ IDEA 使用显式组来将模块连接在一起。 如果您已配置手动模块组,您将能够在集成开发环境的后续版本中继续使用它们。 或者,您可以 转换模块组并使用限定名称。
在 项目 工具窗口 (Alt+1) 中,选择您想要分组的模块。
您还可以在 模块 页面上的 项目结构 对话框中进行此操作 (Ctrl+Alt+Shift+S)。
从上下文菜单中选择 。
请命名新组并点击 OK。
新的组已创建,并标记为
图标。
选择 在任意组外 以从组中排除所选模块,选择 到此组 以将模块添加到组中,或选择 至新子组 以在另一个组中创建新组。
将模块组转换为限定名(已弃用)
在主菜单中,前往 。
在下一个对话框中,查看新模块名称,并在必要时进行调整。
应用更改并关闭对话框。
按完整限定名称分组模块
IntelliJ IDEA 2017.3 之后使用完全限定名称来分组模块。 例如,如果您想将所有 CDI 模块分组,请在它们的名称前添加 cdi。
打开 项目结构 对话框 Ctrl+Alt+Shift+S 并点击 模块。
选择您要分组的模块,打开上下文菜单,然后点击 更改模块名称。
指定一个前缀并应用更改。
如果您手动编辑模块名称而不是使用专用的 更改模块名称 操作,请确保使用点(
。)作为前缀和模块名称之间的分隔符。 例如,将模块从应用程序重命名为cdi.application,会将其正确归类到cdi类别下。要在 项目结构 对话框中查看同一级别的所有模块,请使用 平展模块 上下文菜单选项。
