# 上下文与依赖注入（ CDI ）

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

[Jakarta Contexts and Dependency Injection](https://jakarta.ee/specifications/cdi/) (CDI) 是一个用于声明式依赖注入及支持性服务的规范。

Procedure: 启用 Jakarta EE：上下文与依赖注入 (CDI) 插件

此功能依赖于 [Jakarta EE: Contexts and Dependency Injection (CDI)](https://plugins.jetbrains.com/plugin/20204)插件，该插件默认在 IntelliJ IDEA 中捆绑并启用。 如果相关功能不可用，请确保您没有禁用插件。

> **Note:**
> 如果没有 Ultimate 订阅，Jakarta EE：上下文和 SQL 注入 (CDI) 插件在 IntelliJ IDEA 中不可用。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `插件` 。

2. 找到  Jakarta EE：上下文和 SQL 注入 (CDI)  插件并点击   启用  。

您可以在创建新项目或模块时启用 CDI 支持，或向现有模块添加 CDI 支持。

Procedure: 创建一个新的 Jakarta EE 项目并使用 CDI

1. 打开   新建项目  向导：

* 如果位于主屏幕，请选择 `![加号](https://resources.jetbrains.com.cn/help/img/idea/2026.3/intellij.platform.icons.expui.general.add.svg) 新建 | ![文件夹图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/intellij.platform.icons.expui.nodes.folder.svg) 项目……` 。

* 如果已打开另一个项目，请转到 `文件 | 新建 | 项目` 。

2. 从左侧的   生成器   列表中，选择 ![Jakarta EE 徽标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/intellij.java.ultimate.icons.icons.javaee.newui.jakartaEE.svg)   Jakarta EE  。

![Jakarta EE 项目向导的第一步](https://resources.jetbrains.com.cn/help/img/idea/2026.3/jakarta_new_project_step_1_web.png)

3. 设置 [Jakarta EE 项目设置](new-project-wizard.html#java-ee)。

准备就绪后，点击   下一步  。

4. 从   版本   下拉菜单中选择要使用的 Jakarta EE 版本。

5. 从   依赖项   列表中，选择   上下文与依赖注入（ CDI ）   以及要包含在项目中的任何其他规范或实现。

![创建支持 CDI 的新项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/java_enterprise_new_project_step_2_cdi.png)

6. 点击   创建  。

有关创建 Jakarta EE 项目的更多信息，例如如何设置应用程序服务器，请参阅 [教程：您的第一个 Jakarta EE 应用程序](creating-and-running-your-first-jakarta-ee-application.html)。

Procedure: 向现有项目添加 CDI

1. 在编辑器中打开构建文件（  `pom.xml`  或  `build.gradle` ，具体取决于项目中使用的 [构建工具](build-tools.html)）。

2. 添加 CDI 库，并确保其版本与项目的其余部分匹配：

Maven:

Jakarta EE
: ```XML
: <dependency>
: <groupId>jakarta.enterprise</groupId>
: <artifactId>jakarta.enterprise.cdi-api</artifactId>
: <version>4.1.0</version>
: </dependency>
:
: ```

Java EE
: ```XML
: <dependency>
: <groupId>javax.enterprise</groupId>
: <artifactId>cdi-api</artifactId>
: <version>2.0.SP1</version>
: </dependency>
:
: ```

Gradle (Groovy):

Jakarta EE
: ```GROOVY
: implementation 'jakarta.enterprise:jakarta.enterprise.cdi-api:4.1.0'
:
: ```

Java EE
: ```GROOVY
: implementation 'javax.enterprise:cdi-api:2.0.SP1'
:
: ```

Gradle (Kotlin):

Jakarta EE
: ```KOTLIN
: implementation("jakarta.enterprise:jakarta.enterprise.cdi-api:4.1.0")
:
: ```

Java EE
: ```KOTLIN
: implementation("javax.enterprise:cdi-api:2.0.SP1")
:
: ```

3. 按 `Ctrl+Shift+O` (Windows), `Ctrl+Shift+O` (macOS), `Ctrl+Shift+O` (IntelliJ IDEA Classic (macOS)), `Ctrl+Shift+O` (macOS System Shortcuts), `Ctrl+Shift+O` (XWin), `Ctrl+Shift+O` (GNOME), `Ctrl+Shift+O` (KDE), `Ctrl+Shift+O` (Emacs), `Ctrl+Shift+O` (Sublime Text), `Ctrl+Shift+O` (Sublime Text (macOS)), `Ctrl+Shift+O` (Visual Studio), `Ctrl+Shift+O` (Visual Studio (macOS)), `Ctrl+Shift+O` (NetBeans), `Ctrl+Shift+O` (Eclipse), `Ctrl+Shift+O` (Eclipse (macOS)) 导入更改。

有关使用构建工具的更多信息，请参阅 [Maven](maven-support.html) 或 [Gradle](gradle.html)。

## See also

### 参考

[Beans 工具窗口](beans-tool-window.html)

### 过程

[Maven](maven-support.html) [Gradle](gradle.html) [教程：您的第一个 Jakarta EE 应用程序](creating-and-running-your-first-jakarta-ee-application.html)

