Create a new project
New project without frameworks
This is a general-purpose project without specific frameworks. You will be able to add the necessary frameworks and technologies later at any time.
Launch IntelliJ IDEA.
If the Welcome screen opens, click New Project. Otherwise, from the main menu, select .
From the list on the left, select New Project.
Name the new project and change its location if necessary.
Select the Create Git repository checkbox to place the new project under version control.
You will be able to do it later at any time.
From the Language list, select the language that you want to use in your application.
If you want to use a language that is not available in IntelliJ IDEA out of the box (for example, Python or PHP), click the button and select the necessary option.
The IDE will open a dialog in which you can select and install the necessary language plugin. After that, you can close the dialog and keep configuring the new project.
Select the build system that you want to use in your project: the native IntelliJ builder, Maven, or Gradle.
For Gradle, you will also need to select a language for the build script: Groovy or Kotlin.
From the JDK list, 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.
Enable the Add sample code option to create a class with a sample
HelloWorld
application.
Other languages
New Empty Project
This is a basic project that allows you to work with different languages, Java or Kotlin classes without a predefined SDK, which could be useful for ad-hoc developing, creating mockups, and testing.
Launch IntelliJ IDEA.
If the Welcome screen opens, click New Project. Otherwise, from the main menu, select .
From the list on the left, select Empty Project.
Name the new project and change its location if necessary.
Select the Create Git repository to place the new project under version control.
You will be able to do it later at any time.
Click Create.
New framework-based project
Maven Archetype
If you are creating a project using a Maven archetype, IntelliJ IDEA displays the Maven settings that you can use to set the Maven home directory and Maven repositories. Also, you can check the archetype properties.
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Create Git repository | Place the new project under version control. You will be able to do it later at any time. |
JDK | From the JDK list, 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. |
Catalog | Specify which Maven repository you want to use in your project. The internal Maven catalog is a default one. You can also select the local repository that is located in the Moreover, you can click Manage Catalogs and add a custom repository if you need. |
Archetype | Select the needed Maven archetype. Click Add to specify the custom archetype. |
Version | The version is specified automatically. |
Properties | In this area, you can specify additional properties on top of the built-in ones |
Advanced Settings | Specify the following Maven coordinates that are added to the pom.xml file:
For more information on Maven coordinates, see Maven naming conventions. |
Java Enterprise
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Create Git repository | Place the new project under version control. You will be able to do it later at any time. |
Template | Select a template for your application. IntelliJ IDEA will pre-configure your project accordingly. |
Application server | Specify the application server that you want to use in this application. IntelliJ IDEA provides integration with various application servers, enabling you to start and stop local servers, connect to running remote servers, and deploy your artifacts on those servers. |
Language | Select the language that you want to use in your application. |
Build system | Select the build tool that will be used for managing dependencies, testing, packaging, automating the build process, and so on. |
Test framework | Select a testing framework. |
Group | Specify the unique group identifier for your project. It should preferably start with the reversed domain name you control (for example, |
Artifact | Specify a name for the artifact within the group, usually the project's name. |
JDK | From the JDK list, 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. |
Version | Select the Java EE version that you want to use. |
Dependencies | Select the technologies, frameworks and languages that you want your project to support. |
Spring Initializr
Server URL | Use the default https://start.spring.io/ service or specify a custom instance. For more information, see Creating your own instance. |
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Create Git repository | Place the new project under version control. You will be able to do it later at any time. |
Language | Select the language that you want to use in your application. |
Type | Select the build tool to use for managing dependencies, testing, packaging, automating the build process, and so on: Maven or Gradle. |
Group | Specify the unique group identifier for your project. It should preferably start with the reversed domain name you control (for example, |
Artifact | Specify a name for the artifact within the group, usually the project's name. |
Package name | Specify the root package of the project. This is usually a combination of the group and artifact names, for example: |
JDK | From the JDK list, 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. |
Java | Select the Java version that the initializing service should use. |
Packaging | Select whether you want to package the app as a JAR or WAR. |
Spring Boot | Select the Spring Boot version. |
Download pre-built shared indexes for JDK and Maven libraries | Silently download the pre-built shared indexes for JDK and Maven libraries instead of building the indexes. For more information, see Shared indexes. |
Dependencies | Select starters and dependencies for your project. If you select technologies that require additional plugins, the IDE will notify you about it once the project is created, and will suggest installing or enabling them. |
JavaFX
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Create Git repository | Place the new project under version control. You will be able to do it later at any time. |
Language | Select the language that you want to use in your application. |
Build system | Select the build tool that will be used for managing dependencies, testing, packaging, automating the build process, and so on. |
Test framework | Select a testing framework. |
Group | Specify the unique group identifier for your project. It should preferably start with the reversed domain name you control (for example, |
Artifact | Specify a name for the artifact within the group, usually the project's name. |
JDK | From the JDK list, 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. |
Select the libraries that you want to use in your application.
Quarkus
Server URL | Specify the URL of the starter service that you want to use in your application. By default, the https://code.quarkus/io instance is specified, but you can use another custom service. |
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Create Git repository | Place the new project under version control. You will be able to do it later at any time. |
Language | Select the language that you want to use in your application. |
Build system | Select the build tool that will be used for managing dependencies, testing, packaging, automating the build process, and so on. |
Group | Specify the unique group identifier for your project. It should preferably start with the reversed domain name you control (for example, |
Artifact | Specify a name for the artifact within the group, usually the project's name. |
JDK | From the JDK list, 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. |
Add sample code | Create a code sample together with the project. |
Select extensions that you want to use in your project. If you select technologies that require additional plugins, the IDE will notify you about it once the project is created, and will suggest installing or enabling them.
Micronaut
Server URL | Specify the URL of the starter service that you want to use in your application. By default, the https://micronaut.io/launch/ instance is specified, but you can use another custom service. |
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Create Git repository | Place the new project under version control. You will be able to do it later at any time. |
Language | Select the language that you want to use in your application. |
Build system | Select the build tool that will be used for managing dependencies, testing, packaging, automating the build process, and so on. |
Test framework | Select a testing framework. |
Group | Specify the unique group identifier for your project. It should preferably start with the reversed domain name you control (for example, |
Artifact | Specify a name for the artifact within the group, usually the project's name. |
Application type | Select an application type from thr list. |
JDK | From the JDK list, 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. |
Java | Select the Java version that the initializing service should use. |
Select extensions that you want to use in your project. If you select technologies that require additional plugins, the IDE will notify you about it once the project is created, and will suggest installing or enabling them.
Ktor
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Build system | Select the build tool that will be used for managing dependencies, testing, packaging, automating the build process, and so on. |
Website | A domain used to generate a package name. |
Artifact | A generated artifact name. |
Ktor version | A required Ktor version. |
Engine | An engine used to run a server. |
Configuration in | Select whether to specify server parameters in code or in a HOCON file. |
Add sample code | Leave this option enabled to add sample code for plugins added on the next page. |
On the next page, select plugins (formerly known as features) that you want to use in this application. They provide common functionality of a Ktor application, for example, authentication, serialization and content encoding, compression, cookie support, and so on.
Kotlin Multiplatform
During step 1, global project properties are defined.
Name | The project name. |
Location | The path to the directory where the project will be located. If not specified, IntelliJ IDEA uses the default directory ( ). |
Project template | Defines the initial project structure. Depending on the purpose, select one of the following templates: JVM
Multiplatform
Kotlin/JS
Compose Multiplatform (Old version)
|
Build system | Select the build tool that will be used for managing dependencies, testing, packaging, automating the build process, and so on. |
JDK | The JDK that will be used in the project (version 1.8 or later is recommended). The JDK:
If you don't have a JDK installed, you can download it right in the dialog. |
Group ID | The unique identifier of your organization. Not applicable for IntelliJ build system. |
Artifact ID | The unique name of the primary artifact for this project. Not applicable for IntelliJ build system. |
Version | The version of the primary artifact generated by the project. Not applicable for IntelliJ build system. |
During step 2, the module structure of the project is configured. This step is optional.
JVM settings
Target JVM version | The version of the JVM bytecode that will be produced as the result of compiling this module. |
Test framework | The framework that will be used for unit testing. |
Multiplatform settings
Use kotlin.test | Adds the kotlin.test library annotations and assert functions for unit testing (enabled by default). |
Kotlin/JS settings
Browser Application | |
Use kotlin.test | Adds the kotlin.test library annotations and assert functions for unit testing (enabled by default). |
Use new JS IR compiler | Learn more about the features available in the new Kotlin/JS IR compiler (disabled by default). |
Use kotlinx.html | Type-safe Kotlin DSL for creating HTML elements and building DOM trees. |
React Application | |
Use kotlin.test | Adds the kotlin.test library annotations and assert functions for unit testing (enabled by default). |
Use new JS IR compiler | Learn more about the features available in the new Kotlin/JS IR compiler (disabled by default). |
Use react-router-dom | Adds navigational components to keep the URLs and UIs synchronized. |
Use react-redux | Adds state containers powered by Redux. |
Node.JS Application | |
Use kotlin.test | Adds the kotlin.test library annotations and assert functions for unit testing (enabled by default). |
Use new JS IR compiler | Learn more about the features available in the new Kotlin/JS IR compiler (disabled by default). |
Use experimental Nod.js API (kotlinx-nodejs) | Allows access to Node.js specific features. |
Compose Multiplatform settings
Desktop-specific settings
Template
Defines the initial project structure. Select one of the templates depending on your purposes.
Target JVM version
The version of the JVM bytecode that will be produced as the result of compiling this module.
Test framework
The framework that will be used for unit testing.
Multiplatform-specific settings
Name
The name of the module.
Template
Defines the initial project structure. Select one of the templates depending on your purposes.
Android SDK
Android SDK that will be used for the current module.
Android plugin
Android Gradle plugin for an application or a library that will be used for the current module.
Module dependencies
The list of modules the current module depends on.
Use kotlin.test
Adds the kotlin.test library annotations and assert functions for unit testing (enabled by default).
Target JVM version
The version of the JVM bytecode that will be produced as the result of compiling this module.
Test framework
The framework that will be used for unit testing.
Web-specific settings
Template
Defines the initial project structure. Select one of the templates depending on your purposes.
Use kotlin.test
Adds the kotlin.test library annotations and assert functions for unit testing (enabled by default).
Compose Multiplatform
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Configuration | Select whether your application should be for a single platform or for multiple platforms. |
Platform | Select the platform for which you want to create an application. |
Group | Specify the unique group identifier for your project. It should preferably start with the reversed domain name you control (for example, |
Artifact | Specify a name for the artifact within the group, usually the project's name. |
JDK | From the JDK list, 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. |
HTML
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Project type | Select the framework that you want to use in your application. |
Version | Specify the version of the template in accordance to which the stub will be generated. Click to refresh the list of available template versions. |
React
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Project type | Select the framework that you want to use in your application. |
Node interpreter | Specify the Node.js interpreter that you want to use in this project. You can select a configured interpreter from the list or click Add to configure a new one. If you have no Node.js on your computer, select Download Node.js from the list. |
create-react-app | Select npx create-react-app. Alternatively, for npm version 5.1 and earlier, install the |
Express
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Node interpreter | In this field, specify the Node.js interpreter to use. This can be a local Node.js interpreter or a Node.js on Windows Subsystem for Linux. . |
Package manager | Specify the location of the Node.js package manager file npm.cmd. In most cases, IntelliJ IDEA detects the Node.js executable and fills in the field automatically. |
Version | Select the version of the template in accordance to which the stub will be generated. Click to refresh the list of available template versions.. |
View Engine | Select the template engine that you want to use. |
Stylesheet Engine | Select the CSS preprocessor for your project. |
AngularCLI
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Node interpreter | Specify the Node.js interpreter that you want to use in this project. You can select a configured interpreter from the list or click Add to configure a new one. If you have no Node.js on your computer, select Download Node.js from the list. |
Angular CLI | Select Alternatively, for npm version 5.1 and earlier, install the |
Additional parameters | (Optional) Specify the extra ng new options to pass to Angular CLI. Code completion is available in this field: as you start typing the name of an option or press Ctrl+Space, IntelliJ IDEA shows you the available options and their description. |
IntelliJ Platform Plugin
Name | Specify a name for your project. |
Location | Specify the path to the directory in which you want to create the project. By default, the IDE creates a directory with the same name as the project. |
Create Git repository | Place the new project under version control. You will be able to do it later at any time. |
Type | Select what you are going to develop: a plugin or a theme. |
Group | Specify the unique group identifier for your project. It should preferably start with the reversed domain name you control (for example, |
Artifact | Specify a name for the artifact within the group, usually the project's name. |
JDK | From the JDK list, 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. |
Android
Select the type of project you want to create from categories of device form factors that are shown as tabs at the top of the wizard.
Name | Specify the name for your project. |
Package name | Specify the package name. By default, this package name also becomes your application ID. If necessary, you will be able to change it later. |
Save location | Use this field to specify the location of your project. |
Language | Select the Language you want to use for creating sample code for your new project. |
Minimum SDK | Select the minimum API level that you want to use in the project. If you are not sure which level to select, click the Help me choose link in the dialog. |
This project will support instant apps | Select the checkbox if your project supports instant experiences though Google Play Instant, and you want to enable it for your application. |