# 模块结构设置

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

模块设置仅适用于一个模块，并存储在  `.iml`  文件中。 一个模块可以拥有与项目配置不同的 SDK 和语言级别，以及其自己的库。 它们也可以承载特定的技术或框架。

## 模块 SDK

SDK 是用于特定软件框架开发应用程序所需的一组工具。 若要开发基于 Java 的应用程序，您需要一个 JDK（Java Development Kit）。

您可以使用与项目 SDK 不同的 SDK 来编译模块。

Procedure: 添加模块 SDK

1. 在主菜单中，前往  `文件 | 项目结构 | 项目设置 | 模块` 。

2. 选择要为其设置 SDK 的模块，然后点击   依赖项  。

3. 如果所需 SDK 已在 IntelliJ IDEA 中定义，请从   检测到的 SDK   列表中选择它。

4. 仅适用于 JDK：如果 IDE 无法自动在计算机上找到所需的 JDK，请点击   从磁盘添加 JDK  ，并在打开的对话框中指定其主目录。

如果计算机上没有所需的 JDK，请选择   下载 JDK  。 在下一个对话框中，指定 JDK 供应商、版本，必要时更改安装路径，然后点击   下载  。

> **Tip:**
> 如果希望模块继承项目 SDK，请从   模块 SDK   列表中选择   项目SDK   选项。

![设置另一个模块级 SDK](https://resources.jetbrains.com/help/img/idea/2026.3/sdks_project_structure_modules_dependencies.png)

### IntelliJ IDEA 如何知道使用哪个 JDK？

如果您在项目中为模块使用不同的 JDK，IntelliJ IDEA 将通过以下方式确定用于编译的 JDK。

* 它会检查项目中使用的所有 JDK：项目级别和模块级别定义的 JDK。

* 它计算这些 JDK 中的最新一个。 这是确保所有模块都能被编译所必需的。

* 如果配置的最新 JDK 版本低于 1.6，IntelliJ IDEA 将选择用于运行 IDE 的 JDK 版本。 此限制与 IntelliJ IDEA 用于构建项目的编译器 API 从 JDK 1.6 开始支持这一事实有关。

* 尽管会使用特定版本的编译器（根据所选的 JDK 版本），但每个独立的模块将使用 javac 的交叉编译功能，根据项目设置中为该特定模块定义的 JDK 库进行编译。 这可以防止模块在针对比设置的依赖项更新的库进行编译时出现问题。

## 模块语言级别

语言级别定义了编辑器提供的代码辅助功能。 要为模块配置语言级别：

Procedure: 配置模块语言级别

1. 在主菜单中，前往  `文件 | 项目结构`  `Ctrl+Alt+Shift+S` (Windows), `⌘ ;` (macOS), `⌘ ;` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ Comma` (macOS System Shortcuts), `Ctrl+Alt+Shift+S` (XWin), `Ctrl+Alt+Shift+S` (GNOME), `Ctrl+Alt+Shift+S` (KDE), `Ctrl+Alt+Shift+S` (Emacs), `Ctrl+Alt+Shift+S` (Sublime Text), `⌘ ;` (Sublime Text (macOS)), `Ctrl+Alt+Shift+S` (Visual Studio), `⌘ ;` (Visual Studio (macOS)), `Ctrl+Alt+Shift+S` (NetBeans), `Ctrl+Alt+Shift+S` (Eclipse), `⌘ ;` (Eclipse (macOS))。

2. 在   项目设置   下，选择  `模块｜源文件` 。

3. 从   语言级别   列表中选择所需选项。

4. 要使用 [项目语言级别](project-settings-and-structure.html#language-level)，请选择   项目默认  。

![指定模块语言级别](https://resources.jetbrains.com/help/img/idea/2026.3/module-language-level.png)

## 模块编译器输出

编译器输出路径是 IntelliJ IDEA 存储编译结果的目录路径。 在此目录中，IDE 会创建两个子目录：  `输出`  用于生产代码和  `test output`  用于测试源代码。

Procedure: 配置模块编译器输出

1. 在主菜单中，前往  `文件 | 项目结构`  `Ctrl+Alt+Shift+S` (Windows), `⌘ ;` (macOS), `⌘ ;` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ Comma` (macOS System Shortcuts), `Ctrl+Alt+Shift+S` (XWin), `Ctrl+Alt+Shift+S` (GNOME), `Ctrl+Alt+Shift+S` (KDE), `Ctrl+Alt+Shift+S` (Emacs), `Ctrl+Alt+Shift+S` (Sublime Text), `⌘ ;` (Sublime Text (macOS)), `Ctrl+Alt+Shift+S` (Visual Studio), `⌘ ;` (Visual Studio (macOS)), `Ctrl+Alt+Shift+S` (NetBeans), `Ctrl+Alt+Shift+S` (Eclipse), `⌘ ;` (Eclipse (macOS))。

2. 在   项目设置   下，选择  `模块 | 路径` 。

3. 更改   输出路径  和   测试输出路径  中指定的路径或选择   继承项目编译输出路径  以使用 [为项目指定的路径](project-settings-and-structure.html#compiler-output)。

4. 选中   排除输出路径   复选框以从代码完成、导航和检查中排除输出文件夹。 这有助于提高整体 IDE 性能。

![指定模块编译输出](https://resources.jetbrains.com/help/img/idea/2026.3/module-compiler-output.png)

## 模块 Javadocs或

可以指定与模块关联的外部 [Javadocs](javadocs.html) 的存储位置。

Procedure:

1. 在主菜单中，前往  `文件 | 项目结构`  `Ctrl+Alt+Shift+S` (Windows), `⌘ ;` (macOS), `⌘ ;` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ Comma` (macOS System Shortcuts), `Ctrl+Alt+Shift+S` (XWin), `Ctrl+Alt+Shift+S` (GNOME), `Ctrl+Alt+Shift+S` (KDE), `Ctrl+Alt+Shift+S` (Emacs), `Ctrl+Alt+Shift+S` (Sublime Text), `⌘ ;` (Sublime Text (macOS)), `Ctrl+Alt+Shift+S` (Visual Studio), `⌘ ;` (Visual Studio (macOS)), `Ctrl+Alt+Shift+S` (NetBeans), `Ctrl+Alt+Shift+S` (Eclipse), `⌘ ;` (Eclipse (macOS))。

2. 在   项目设置   下，选择  `模块 | 路径` 。

3. 在   JavaDoc   区域，配置存储外部 Javadocs 的位置列表。

可以指定本地计算机上的文件或 URL 来添加在线 Javadoc。

## 模块外部注解

可以为与模块关联的 [外部注解](annotating-source-code.html#external-annotations)指定位置。

Procedure:

1. 在主菜单中，前往  `文件 | 项目结构`  `Ctrl+Alt+Shift+S` (Windows), `⌘ ;` (macOS), `⌘ ;` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ Comma` (macOS System Shortcuts), `Ctrl+Alt+Shift+S` (XWin), `Ctrl+Alt+Shift+S` (GNOME), `Ctrl+Alt+Shift+S` (KDE), `Ctrl+Alt+Shift+S` (Emacs), `Ctrl+Alt+Shift+S` (Sublime Text), `⌘ ;` (Sublime Text (macOS)), `Ctrl+Alt+Shift+S` (Visual Studio), `⌘ ;` (Visual Studio (macOS)), `Ctrl+Alt+Shift+S` (NetBeans), `Ctrl+Alt+Shift+S` (Eclipse), `⌘ ;` (Eclipse (macOS))。

2. 在   项目设置   下，选择  `模块 | 路径` 。

3. 在   外部注解   区域，配置注解位置列表。

## 模块库

[Libraries](library.html) 是一组已编译的代码，您可以在开发应用程序时使用。 您可以在模块级别添加库。 在这种情况下，只有一个模块可以使用这些库中的代码。

Procedure: 添加模块级库

在将全局库和项目库添加到模块依赖项之前，它们不可用。

1. 在主菜单中，前往  `文件 | 项目结构 | 项目设置 | 模块` 。

2. 请选择要为其添加库的模块，然后点击   依赖项  。

3. 点击 ![添加](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg) 按钮并选择   库  。

![添加新模块库](https://resources.jetbrains.com/help/img/idea/2026.3/add-new-module-lib.png)

4. 在打开的对话框中，选择您要添加到模块的项目或全局库。

或者，点击   新库   并选择所需选项：可以从计算机上的文件添加 Java 和 Kotlin 库，或从 Maven 下载库。

![添加新模块库](https://resources.jetbrains.com/help/img/idea/2026.3/add-new-module-lib2.png)

