IntelliJ IDEA 2020.2 Help

Add Maven support to an existing project

You can open an existing non-Maven project and add a Maven support via IntelliJ IDEA UI.

Add Maven support

  1. Open an existing project, for example, a Java project.

  2. In the Project tool window, right-click your project and select Add Framework Support.

    Project tool window

  3. In the dialog that opens, select Maven from the options on the left and click OK.

    Add Maven support
    IntelliJ IDEA adds a default POM to the project and generates the standard Maven layout in Project tool window.
    Maven project view
    IntelliJ IDEA also creates a corresponding structure with Lifecycle and Plugins in the Maven tool window.

  4. Open the generated POM and specify a groupId. The artifactId and version are specified automatically.

    Generated POM
    Every time you change the POM, IntelliJ IDEA displays a popup suggesting to import your changes.

At this point you can further develop your project using Maven. We recommend making all your project changes in POM since IntelliJ IDEA considers pom.xml as a single source of truth.

Create an executable JAR

You can conclude the following optional steps to create an executable JAR.

  1. Click the Build Project icon to build project. IntelliJ IDEA generates target folder. Note that IntelliJ IDEA only compiles sources and doesn't create either JAR file or Manifest file.

  2. Create a Manifest file in the resources directory.

    the Manifest file

  3. In your POM specify the Manifest file information, so you can use Maven to generate an executable jar file.

    POM with manifest

  4. In the Maven tool window, in the Lifecycle list, double-click the install command to generate the jar file. IntelliJ IDEA generates the appropriate information in the target folder and an executable JAR in the Project tool window.

    Generated JAR
    You can right-click the generated JAR and select Run to execute the file.

If the existing project contains more than one module, converting such a project into the Maven project becomes quite challenging. In this case we recommend that you create an external POM where you describe your project and open your POM as you would open a regular Maven project.

Last modified: 19 August 2020