IntelliJ IDEA tutorials
Here you can find IntelliJ IDEA tutorials designed to help you write quality code, stay current with modern development, and work reliably across any project setup.
First steps
Set up your environment and create simple Java applications.
- Create your first Java application
Learn how to create, run, and package a simple Java application in IntelliJ IDEA. This tutorial introduces coding assistance and essential tools designed to support productive Java development.
- Run a Java application
Learn how to run a Java application, create run/debug configurations, save output, and customize VM options to suit your workflow.
- Debug your first Java application
Use IntelliJ IDEA’s debugger and real-time code analysis to identify and resolve issues efficiently, so you can maintain reliable, clean code.
Kotlin
Explore IntelliJ IDEA's support for Kotlin development, including project creation, debugging, testing, and code analysis tools designed to help you write clean, high-quality Kotlin code.
- Create your first Kotlin application
Create your first Kotlin project, write code with coding assistance, and build the application using one of the supported build tools.
- Test-driven development with Kotlin
Write tests first and evolve your code incrementally, helping you build reliable and modern Kotlin applications with strong test coverage.
- Debug your first Kotlin application
Learn how to debug Kotlin applications using integrated tools that help you quickly trace and fix issues during development.
- Structural search and replace in Kotlin
Apply structural search and replace to your Kotlin code. This tutorial covers how to customize templates, use match filters, and define inspections to enforce consistent coding patterns.
Spring
Create, build, and run Spring applications using IntelliJ IDEA’s integration with Spring and Spring Boot.
- Create your first Spring application
Create and run a simple Spring Boot application using IntelliJ IDEA’s project wizard and Spring Initializr. Expose an HTTP endpoint and run the app using run configurations and Maven.
- Explore Spring features
Learn how IntelliJ IDEA helps you write, analyze, and manage Spring applications at runtime. This tutorial uses a Spring Boot Maven project and demonstrates how the IDE supports development through smart assistance and integrated tools.
- Run and debug a Spring Boot application using Docker Compose
Use Docker Compose to run a Spring Boot application alongside a MySQL database in separate containers. Learn how to configure services, expose endpoints, and debug the application directly from IntelliJ IDEA.
Jakarta EE
Quickly gain hands-on experience creating and deploying Jakarta EE projects.
- Create your first Jakarta EE application
Build a simple Jakarta EE web application with a JSP page and servlet, and learn how to deploy it using IntelliJ IDEA's built-in server integration.
- Create your first RESTful web service
Create and deploy a simple RESTful service using IntelliJ IDEA and Tomcat, and access it using a browser or HTTP client.
Testing and debugging
Set up and run tests, debug applications, and investigate concurrency issues using integrated testing and debugging features.
- Test-driven development in IntelliJ IDEA
Practice test-driven development (TDD) in IntelliJ IDEA and learn how to write, navigate, and run unit tests.
- Get started with JUnit
Learn how to set up JUnit in your project, write tests, and run them to verify your code. The tutorial contains the essential steps to get you started with unit testing.
- Set a value during debugging
Use the Set Value feature in the debugger to change variable values at runtime. This feature helps simulate specific conditions and troubleshoot issues without modifying your code.
- Remote debugging
Attach the debugger to a local or remote process to inspect and troubleshoot application behavior outside your development environment.
- Detect concurrency issues
Debug and analyze multithreaded applications in IntelliJ IDEA. Follow a sample scenario to help you understand and troubleshoot concurrency issues that may appear sporadically and are harder to detect.
Version control
Work with version control integration to manage your code changes without leaving IntelliJ IDEA.
- Getting started with Git
Create Git repositories from your projects, share them on GitHub, commit and push changes, create and merge branches, resolve merge conflicts, and investigate the files' history.
Build tools
Use Maven or Gradle to configure your project, manage dependencies, and support reliable, structured builds. IntelliJ IDEA also makes it easy to integrate advanced workflows like JNI development.
- Add Maven support to an existing Java project
Add Maven support to a Java project and use it to manage builds and dependencies. This tutorial guides you through converting an IntelliJ IDEA project into a Maven one.
- Get Started with Gradle
Create a new Gradle project, run and test your code, and execute the packaged JAR file using Gradle.
- Publish a Java library to a Maven repository
Publish a Java library from a Gradle project to a local Maven repository, and then to a remote one. This helps you reuse and share your code across multiple projects and development environments.
- Set up JNI development in a Gradle project
Configure a Gradle project for working with the Java Native Interface (JNI), including native code setup and build customization.
Deployment
Use IntelliJ IDEA to deploy and debug applications in containers or on remote hosts. Built-in support for Docker, Docker Compose, Kubernetes, and application servers makes it easy to manage modern and traditional deployment workflows.
- Deploy a Java web application inside an application server container
Build a WAR file and deploy it to an application server like Tomcat or WildFly running in a Docker container.
- Dockerize a Java application
Learn how to create a Docker image for a compiled Java application. This tutorial covers packaging, running the containerized app, and sharing the image to support reproducible and portable deployment.
- Run and debug a Java application with Docker
Use a Docker integration to run and debug a Java application inside a container. This tutorial shows how to create a Docker run target and debug your application in an isolated, reproducible environment.
- Run a database in a Docker container
Use Docker to run a database in a container as if it were a remote server and test how your application interacts with it.
- Deploy and debug a Java web application inside a container running Tomcat
Use Docker and Docker Compose to run an application server container and deploy your Java web application for testing and debugging. This tutorial shows how to configure Tomcat with a mounted WAR, expose the debugger port, and connect from IntelliJ IDEA.
- Deployment in IntelliJ IDEA
Learn how to configure and manage deployment of your code to remote hosts step-by-step using IntelliJ IDEA.
Languages and frameworks
Explore language-specific support and framework integrations for professional development in Java, Python, Ruby, and more.
- Scientific project tutorial
Create a Python project for scientific computing. Learn how to run, debug, and visualize data using IntelliJ IDEA’s support for Python and built-in scientific tools.
- Create and run a Spark application on a cluster
Learn the basics of working with Spark: create a simple Spark application, build it with Gradle, upload it to an AWS EMR cluster, and monitor jobs in Spark and Hadoop YARN.
- Use the Testify toolkit
Write and run tests for Go applications using the popular Testify package.
- Get started with an imported Rails project
Import a Ruby on Rails project and configure the environment. This tutorial walks you through running, debugging, and working with Rails applications in IntelliJ IDEA.
Databases
Learn the key concepts and first steps for working with databases in IntelliJ IDEA.
- Get started with databases
Connect to a sample database and get familiar with database tools, designed to simplify querying, browsing, and managing data in the IDE.
Integrated tools
Boost your productivity with IntelliJ IDEA’s built-in tools for version control, task management, structural code analysis, UI design, and more.
- Use IntelliJ IDEA as the default command-line merge tool
Configure IntelliJ IDEA as your default merge tool for resolving version control conflicts. Resolve differences using the IDE's diff viewer for a more efficient and intuitive experience.
- Configure a generic task server
Connect IntelliJ IDEA to a task tracker through a generic server configuration. Fetch and display issue details directly in the IDE to stay focused while managing tasks.
- Work with structural search and replace
Use structural search and replace to locate and modify patterns in your codebase. Learn how to define templates, add filters, and create custom inspections for more precise and maintainable refactoring.
- Build UI using Swing
Learn how to use the UI Designer to build Swing-based graphical user interfaces. Create a form, configure components, and connect the layout to Java code to build a simple desktop application.