Contexts and Dependency Injection (CDI)
The Contexts and Dependency Injection (CDI) support in IntelliJ IDEA is based on the Java EE: Context and Dependency Injection plugin. This plugin is bundled with the IDE and enabled by default.
You can enable CDI support when creating a project or module. You can as well add CDI support for an existing module.
Make sure the CDI plugin is enabled
Press Ctrl+Alt+S to open the IDE settings and select Plugins | Installed.
Locate the Java EE: Contexts and Dependency Injection plugin in the list, and make sure that the checkbox next to it is selected.
Create a new Java Enterprise project with CDI
Click New Project on the Welcome screen or select .
In the wizard that opens, select Java Enterprise on the left.
Name the new project, select a build tool, a test framework, a language you want to use, and select the Web application project template.
Select the JDK that you want to use in your project.
If the JDK is installed on your computer, but not defined in the IDE, select Add JDK and specify the path to the JDK home directory.
If you don't have the necessary JDK on your computer, select Download JDK.
On the next step of the wizard, select the Java EE version to be supported.
From the Dependencies list, select the Contexts and Dependency Injection (CDI) checkbox.
For more information on how to create a Java Enterprise project, refer to Tutorial: Your first Java EE application.
Enable CDI support for an existing project
If you already have a Java Enterprise web application, you can add the CDI framework support.
Open the build file in the editor (pom.xml or build.gradle depending on the build tool that you use in your project).
Add the following dependency, but make sure to change the version according to your project's requirements:<dependency> <groupId>javax.enterprise</groupId> <artifactId>cdi-api</artifactId> <version>2.0.SP1</version> <scope>provided</scope> </dependency>
This is what the file pom.xml will look like after inserting the code:compileOnly('org.apache.deltaspike.cdictrl:deltaspike-cdictrl-api:1.9.5')
This is what the file build.gradle will look like after inserting the code:
Press Ctrl+Shift+O to import the changes.