In IntelliJ IDEA, you can develop Java Enterprise applications based on Jakarta EE (Java EE) specifications — CDI, JPA, JSF, Batch, JAX-RS, WebSocket, Servlets, and JSP — and MicroProfile. The IDE provides advanced coding assistance, navigation, and a rich set of built-in developer tools for your Java Enterprise project.
Jump into your Java Enterprise project right away!
Create Jakarta EE (Java EE) based projects in a dedicated wizard. All the core information is conveniently grouped on the first screen, while the second screen features framework-specific settings — the project creation process is more straightforward.
The Migrate... refactoring helps you quickly and painlessly migrate a project or module from Java EE to Jakarta EE. After you initiate it, the Refactoring Preview tab shows all the discovered usages of Java EE imports. You can then review them and finalize the process.
IntelliJ IDEA has tons of useful CDI inspections for both Java and Kotlin files in
your Jakarta EE or Java EE projects. The IDE reports injection points in bean classes that
have ambiguous dependencies and incorrect injection points for fields, methods, and
parameters annotated with
@Inject that violate the CDI specification. It also alerts you to
disposer methods without the corresponding producer method, and much more.
You can easily inject Jakarta EE beans right from where you need them. To do this, either
use the .inject postfix template or apply a quick-fix by using the Alt+Enter shortcut
on the unresolved variable and selecting the Add dependency… option. This feature also
supports CamelHumps matching, so you can just type “owRepo” to autowire a bean with the
The IDE allows you to quickly navigate the Java or Kotlin code in your Jakarta EE project via CDI gutter icons. You can go to injection points, injection candidates, or bean factories.
IntelliJ IDEA supports asynchronous CDI events, and allows you to easily navigate between where an event was fired and where it was received.
The IDE integrates with the most commonly used persistence frameworks, such as JDBC, Hibernate, and R2DBC. Right out of the box, you get framework-specific coding assistance, as well as convenient gutter icons that provide a list of the most useful actions for entities and their attributes. The IDE validates the correctness of your JPQL requests.
The Persistence tool window is for viewing and managing various JPA and Hibernate items. In this tool window, you can create configuration files and persistent classes, navigate to related source code in the editor, open diagrams and consoles, and more.
The IDE has a JPA console for writing and running JPQL queries and analyzing the query results in your Jakarta EE projects. This console provides useful highlighting and completion for JPQL keywords, as well as object and property names. It even allows you to test your JPQL requests and receive answers from databases without running your application.
IntelliJ IDEA has an entity-relationship (ER) diagram that represents relationships between entities to give you a better understanding of your project.
IntelliJ IDEA Ultimate can automatically generate JAX-RS requests and open them in the integrated editor-based REST Client so you can easily create and test HTTP requests. Furthermore, you can generate HTTP requests for any URL by simply invoking the Intention Actions context menu via Alt+Enter and selecting the corresponding option.
The IDE recognizes URLs as symbols and allows you to find URL mappings via Search Everywhere. Press Shift twice to open the Search Everywhere window and type "/" along with part of the URL mapping you want to search for.
Thanks to the Endpoints tool window, you can view both client and server APIs for HTTP and WebSocket protocols. It supports comprehensive searches with filters, multiple search parameters, and completion. You can read documentation for each endpoint in a new tab, and if endpoints have associated URLs, you can see an Open API representation of them and access an ad-hoc HTTP client.
IntelliJ IDEA provides references and supports folding for message attributes in Bean
Validation annotations in Java and Kotlin. You can use completion suggestions for message
keys or navigate to their declarations in the i18n
The IDE provides integration with major application servers, including Tomcat, JBoss, WebSphere, WebLogic, GlassFish, and more. Right from your IDE, you can start and stop local servers, connect to running remote servers, deploy your artifacts to those servers, and even debug your applications on them.