# 项目结构设置

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

项目结构设置包括 SDK、项目编译器输出路径以及项目库。 这些设置与其他项目配置文件一起存储在  `.idea`  目录中。

若要更改项目结构设置，请点击工具栏上的 ![IDE 和项目设置按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.settings.svg)并选择   项目结构   ![项目结构按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.projectStructure.svg)。 或者，前往  `文件 | 项目结构`  或按 `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))。

![项目结构对话框的项目页面](https://resources.jetbrains.com/help/img/idea/2026.3/project_structure_project.png)

## 项目SDK

SDK 是用于特定软件框架开发应用程序所需的一组工具。 如果所需的 SDK 已安装在您的计算机上，但未在 IDE 中定义，请选择  `添加 SDK | 'SDK 名称'` ，并指定 SDK 主目录的路径。

若要开发基于 Java 的应用程序，您需要一个 JDK（Java Development Kit）。 有关设置项目 JDK 的更多信息，请参阅 [设置项目 JDK](sdk.html#set-up-jdk)。

要查看或编辑所选 SDK 的名称和内容，请点击   编辑  。 有关 SDK 及其使用方法的更多信息，请参阅 [SDK](sdk.html)。

> **Note:**
> 对于 Gradle 项目，请参阅 [Gradle JVM 选择](gradle-jvm-selection.html)，对于 Maven 项目，请参阅 [在 Maven 项目中更改 JDK 版本](maven-support.html#change_jdk)

## 项目语言级别

语言级别定义了编辑器提供的代码辅助功能。 项目 SDK 的语言级别可能不同。 例如，您可以使用 JDK 9 并将语言级别设置为 8。 这样可以使字节码兼容 Java 8，而检查确保您不会使用 Java 9 的构造。

语言级别也会影响编译。 如果您不手动配置编译器的目标字节码版本（  `设置 | 构建、执行、部署 | 编译器 | Java 编译器` ），它将与项目语言级别相同。

对于每个模块，您可以 [配置其自身的语言级别](configure-modules.html#module-lang-level)。

在某些情况下，您可以选择   预览   语言级别，使您能够使用 [Java Language Specification](https://docs.oracle.com/javase/specs/jls/se13/html/jls-1.html#jls-1.5) 中描述的预览功能。 有关预览功能支持的更多信息，请参阅 [预览功能政策](#preview-policy)。

X – 实验性功能   选项允许您在正式发布之前使用早期的 Java 版本。 你将能够正确编译并运行代码。 此语言级别也可能包含实验性功能，但它们可能随时更改，且未在官方文档中正式记录。

### 预览功能政策

预览功能的目的是收集来自用户、库开发者和工具开发者的反馈。 它们并未设计用于生产环境，因为功能可能会更改或消失。

通常，IDE 支持两到三个版本前的预览，如果可能，还支持即将发布的预览功能。 例如，IntelliJ IDEA 2023.3 支持 Java 20-preview 和 21-preview。 IntelliJ IDEA 2024.1 支持 Java 21-preview 和 22-preview。

不再支持的预览语言级别分别列出，并以红色书写在   语言级别  下拉列表中   项目结构  对话框中（ `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))或  `文件 | 项目结构` ）

![语言级别中选择预览功能](https://resources.jetbrains.com/help/img/idea/2026.3/preview-features.png)

当您打开配置为使用不受支持语言预览版本的模块的项目时，您将看到  `不支持的 Java 预览功能` 通知。 在这种情况下，您仍然可以运行和编译代码。 但是，如果您的代码中还包含 preview 特性，那么代码补全、检查、意图和重构等编程辅助功能可能无法正常处理这些代码片段。

我们建议您更新您的 JDK 或从代码中删除预览功能。

![有关不支持的 Java 预览功能的通知](https://resources.jetbrains.com/help/img/idea/2026.3/unsupported_preview_features.png)

## 项目编译器输出

编译器输出路径是 IntelliJ IDEA 存储编译结果的目录路径。 点击 ![浏览](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.open.svg) 图标以选择输出目录。 在此目录中，IDE 创建两个子目录：

* `生产环境` 用于生产代码。

* `test` 用于测试源。

在这些子目录中，每个模块都会创建单独的输出目录。 输出路径可能会在 [模块级别重新定义](configure-modules.html#module-compiler-output)。

## 项目库

项目级库可用于项目中的所有模块。 要配置项目库，请在   项目结构  对话框中，点击   库  。 如需更多信息，请参阅 [库](library.html)。

