IntelliJ IDEA supports a fully-functional integration with Maven that helps you automate your building process. You can easily create a new Maven project, open and sync an existing one, add a Maven support to any existing IntelliJ IDEA project, configure and manage a multi-module project.
note
If you want to use a custom Maven version that is not bundled with IntelliJ IDEA, you need to install it locally.
Create a new Maven project
If no project is currently open in IntelliJ IDEA, click New Project on the Welcome screen. Otherwise, select File | New | Project from the main menu.
Select Maven from the options on the left.
Specify project's SDK (JDK) or use the default one and an archetype if you want to use a predefined project template (configure your own archetype by clicking Add Archetype ).
Click Next.
On the next page of the wizard, specify the following Maven coordinates that are added to the pom.xml file:
GroupId- a package of a new project.
ArtifactId- a name of your project.
Version- a version of a new project. By default, this field is specified automatically.
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.
Click Next.
Specify the name and location settings.
Click Finish.
IntelliJ IDEA creates a Maven project with the pom.xml file that includes compiler and target versions of Java, dedicated Maven tool window, and all the necessary dependencies to start you work.
note
The version of Java specified in the pom.xml file overrides the version specified in the JDK for Importer option, located in the Maven settings.
Create a Java EE project with Maven as a build tool
Launch the New Project wizard. If no project is currently opened in IntelliJ IDEA, click New Project on the welcome screen. Otherwise, select File | New | Project from the main menu.
Select Java Enterprise from the options on the left.
Leave the default option Maven as your build tool and click Next.
On the next page of the wizard, select additional libraries and frameworks for your project and click Next.
On the next page of the wizard, specify your project's name, location, and artifact coordinates. Click Finish.
IntelliJ IDEA creates a Maven project with the dedicated Maven tool window and adds necessary dependencies.
If you have some custom plugins that require you to import your project from the IntelliJ IDEA model, press Ctrl+Shift+A and search for the Project from Existing Sources action.
In the dialog that opens, select the pom.xml file of the project you want to open.
Click OK.
In the dialog that opens, click Open as Project.
IntelliJ IDEA opens and syncs the Maven project in the IDE. If you need to adjust importing options when you open the project, refer to the Maven settings.
tip
If you have a Maven project with the configured Maven wrapper then IntelliJ IDEA will take the Maven version from the maven.properties file.
Configure the Maven settings before opening a new project
You can configure IntelliJ IDEA to display Maven settings before you open a new Maven project. Since these are application-level settings, they are applied to any new project you open.
On the Welcome screen, select Customize | All Settings.
Alternatively, from the main menu, select File |New Project Settings | Preferences for New Projects.
In the Settings/Preferences dialog, select Build, Execution, Deployment | Build Tools | Maven.
In the Maven settings dialog, select the Show settings dialog for new Maven projects.
Click OK to save the changes.
Next time you open a new project, IntelliJ IDEA displays the Maven Settings dialog where you can specify a location of the local Maven repository and a user settings file.
Add a new Maven module to an existing project
You can add a Maven module to the project in which you are already working.
In the Project tool window, right-click the project folder and select New | Module. Alternatively, from the main menu, select File| New | Module to open the New Module wizard.
If you used main menu to add a module then the process of adding a module is the same as Creating a new Maven project.
If you are adding sub modules by right-clicking the root folder then the process of adding a new module is shorter. You need to specify the name of your module in the Name field. The rest of the information is added automatically and you can use either the default settings or change them according to your preferences.
Configure a multi-module Maven project
You can create a multi-module Maven project in IntelliJ IDEA. The multi-module project is defined by a parent POM file with several sub modules.
note
If you have the Maven version 3.7 or later installed, IntelliJ IDEA will support importing a project from the MNG-6656 model.
In this case when you open a child POM file in the editor, you don't have to specify a version inside the parent tags if it is located in the relativePath by default. If you add a dependency to a module in the same project, you don't have to specify a version of the dependent module.
In the Project tool window, remove the src folder since you would only need it in the very rare cases. For your general project, you don't need the src folder for the parent POM.
In the Project tool window, right-click your project (or from the main menu, click File) and select New | Module to add a sub project.
In the New Module wizard following the instructions on how to add a module, specify the necessary information and click Finish.
The src folder is created automatically and you can open POM and add a packaging that you need. IntelliJ IDEA adds the module to the parent project. IntelliJ IDEA also adds name and the description of the sub project to the parent POM.
note
In a multi-module project, the parent POM needs to have a pom packaging.
Last, but not least, IntelliJ IDEA adds the description of the parent POM to the sub project's POM.
You can click in the left gutter to quickly open the parent POM from your sub project.
You can also add dependencies to the parent POM that will be inherited by the sub projects.
Open Maven tool window to see that all changes made in the parent POM are reflected in sub projects.
Access the Maven settings
Use the Maven settings to configure options such as Maven version, local repository, offline mode, and so on.
In the Settings/Preferences dialog Ctrl+Alt+S, go to Build, Execution, Deployment| Maven.
tip
Click on the toolbar, in the Maven tool window to access the Maven settings.
On the Maven settings page, configure the available options and click OK to save the changes.
Use the Maven wrapper or a custom version of Maven
For a custom version, Download the needed Maven version on your computer.
From the main menu select File | Settings/Preferences | Build, Execution, Deployment |Build Tools | Maven.
On the Maven settings page, in the Maven home directory field, specify the location of the Maven custom version installation. For the Maven wrapper, select the use Maven wrapper option from the list. In this case the version of Maven defined in the .mvn/wrapper/maven-wrapper.properties file will be used.
Click OK.
Change the JDK version in a Maven project
There are several places where you can change the JDK version that will affect not only your current project, but the whole application as well.