Import Maven dependencies in IntelliJ IDEA

JavaMavenIntellij IdeaMaven 3

Java Problem Overview


I have a small question about IntelliJ IDEA 11. I just imported a project from subversion - its a maven project. But I have a problem in maven library dependencies so that I can't include all maven dependencies automatically - IDEA shows dependency errors only when I open that class/ Thats what I get here:

enter image description here

So I want all dependencies to be added automatically - is that possible or do I have to go through all class files to identify and add maven dependencies?!

UPDATE: After doing some modifications I found how to resolve my problem in some way. Thats what I did: enter image description here

but I think logically it will not include and check new dependencies ahead?!... Is there any settings area for this in intelliJ - auto export dependencies to classpath ?!

Java Solutions


Solution 1 - Java

IntelliJ should download and add all your dependencies to the project's classpath automatically as long as your POM is compliant and all the dependencies are available.

When importing Maven projects into IntelliJ an information box usually comes up asking you if you want to configure Auto-Import for Maven projects. That means that if you make any changes to your POM those changes will be loaded automatically.

You can enable such feature going to File > Settings > Maven > Importing, there is a checkbox that says "Import Maven projects automatically".

If that doesn't help, then I would suggest to make a full clean-up and start again:

  • Close your project window (and IntelliJ) and remove all *.iml files and all .idea folders (there should be one per module)
  • Run mvn clean install from the command line
  • Re-import the project into IntelliJ and pay attention when it asks you to enable auto-import

IntelliJ 2016 Update:

The Import Maven Projects automatically setting has been moved to Build, Execution, Deployment > Build Tools > Maven > Importing in your IntelliJ preferences.

Solution 2 - Java

Fix before IntelliJ 14

File [menu] -> Settings -> maven -> importing and uncheck "use maven3 to import project"

ref: http://youtrack.jetbrains.com/issue/IDEA-98425 (which may have a few other ideas too)

Fix IntelliJ 15+

Ran into this again, with IntelliJ 15 this time, which has no "use maven3 to import" option available anymore. The cause was that sometimes IntelliJ "doesn't parse maven dependencies right" and if it can't parse one of them right, it gives up on all of them, apparently. You can tell if this is the case by opening the maven projects tool window (View menu -> Tool Windows -> Maven Projects). Then expand one of your maven projects and its dependencies. If the dependencies are all underlined in red, "Houston, we have a problem". enter image description here

You can actually see the real failure by mousing over the project name itself.

enter image description here

In my instance it said "Problems: No versions available for XXX" or "Failed to read descriptor for artifact org.xy.z" ref: https://youtrack.jetbrains.com/issue/IDEA-128846 and https://youtrack.jetbrains.com/issue/IDEA-152555

It seems in this case I was dealing with a jar that didn't have an associated pom file (in our maven nexus repo, and also my local repository). If this is also your problem, "urrent work around: if you do not actually need to use classes from that jar in your own code (for instance a transitive maven dependency only), you can actually get away with commenting it out from the pom (temporarily), maven project reload, and then uncomment it. Somehow after that point IntelliJ "remembers" its old working dependencies. Adding a maven transitive exclude temporarily might also do it, if you're running into it from transitive chain of dependencies."

Another thing that might help is to use a "newer version" of maven than the bundled 3.0.5. In order to set it up to use this as the default, close all your intellij windows, then open preferences -> build, execution and deployment -> build tools -> maven, and change the maven home directory, it should say "For default project" at the top when you adjust this, though you can adjust it for a particular project as well, as long as you "re import" after adjusting it.

Clear Caches

Deleting your intellij cache folders (windows: HOMEPATH/.{IntellijIdea,IdeaC}XXX linux ~/.IdeaIC15) and/or uninstalling and reinstalling IntelliJ itself. This can also be done by going to File [menu] -> Invalidate Caches / Restart.... Click invalidate and restart. This will reindex your whole project and solve many hard-to-trace issues with IntelliJ.

Solution 3 - Java

When importing the project, select pom.xml instead of the project directory. It should work.

Solution 4 - Java

Try to Re-Import the project from the Maven Projects panel in IntelliJ IDEA. It should download and configure all the dependencies defined in your pom.xml automatically.

If download doesn't work from IDEA for some reason, try mvn install from the command line and see if the dependencies can be fetched.

Of course all the required dependencies and any custom repositories must be defined directly in the pom.xml file.

Solution 5 - Java

For IntelliJ 2016-2.4 (and I believe other new-ish versions):

View > Tool Windows > Maven Projects

In the newly revealed toolbar, select Maven settings (icon of a toolset).

When this screen opens, expand the Maven menu and click 'Importing'

Here, click "Import Maven projects automatically." Also ensure that the 'JDK for Importer' option matches the JDK version you mean to use.

Click OK. Now go to the red dependency in your pom.xml, select the red lightbulb, and click 'Update Maven indices'.

Solution 6 - Java

What helped me:

Navigage: Settings | Build, Execution, Deployment | Maven

Specify "Maven home directory" - the place you installed the maven

Solution 7 - Java

If certain maven modules are not compiling check if their pom.xml is on the "ignored files" list. In IntelliJ goto

> preferences -> project settings -> maven -> ignored files

and check if the related pom.xml is ignored.

Solution 8 - Java

I had the same issue and tried all the answers mentioned here, none worked.

The simple solution is go to your project folder and delete all the .idea and .iml files and restart the IntelliJ ide. It works. No need to do anything with the settings.

Solution 9 - Java

Open IntelliJ Idea, Go to File > Other Settings > Default Settings... > Maven (Preferences) > Importing or| Preferences > Maven > Importing

enter image description here

Click on Enable Auto-import in the console.

enter image description here

Solution 10 - Java

When you create a new project you simply need to choose the option:

...
Import project from external model
Create IDEA project structure over existing external model (Eclipse, Maven...)
...

You'll find it pretty straight forward from there.
And in your case you can close your project and simply create a new one. Choose your project's directory, which will override it, making it a Maven project.

Solution 11 - Java

Importing Maven dependencies may not work if you import the same path several times. This may happen automatically after importing an existing maven project. I can't figure out why this happens, so I'm inclined to think it is a bug.

For example, if my project is

hibernate
  src/main
  src/test

the three paths may be imported as top nodes:

hibernate
src/main
src/test

If such is the case, the dependencies appear to be right, but they won't be used until you remove the superfluous paths (in this case, src/main and src/test). Once you do this, refresh and click Build > Rebuild Project. IDEA will pick up the dependencies.

A symptom of this problem is that IDEA warns you of a duplicated path when you manually check a library (second screenshot in the question).

There are several ways to re-read the dependencies in case you need it. If you go to the “Maven Projects” tab, there is a “Reimport All Maven Projects” icon at the top left of the tab. If you suspect IDEA became confused you can click on File > Invalidate Caches.

Solution 12 - Java

First check path Specified for User Settings file: in Settings -> Build,Execution,Development -> Build Tools -> Maven . The field should have path of the settings.xml of your maven. Also the settings.xml should have correct path of remote repository.

Solution 13 - Java

Go into your project structure, under project Settings, Modules, select the dependencies table. For each dependency, change the scope from 'Test' to 'Compile'.

Solution 14 - Java

If in the lower right corner it says "2 processes running..." or similar, you may just need to wait for that to finish, since it may take time to download all the jars.

Solution 15 - Java

Reimport the project. If you install maven plugin you can use this.

Right click on the project -> Maven -> Reimport

Solution 16 - Java

I had a similar issue, in my case I am using a custom settings.xml which was not picked from IntelliJ.

Solution:
File > Settings > Build, Execution, Deployment > Maven: User settings file (chose here my custom settings.xml).

Solution 17 - Java

I ran into the problem that some subdependencies couldn't be resolved in IntelliJ 2016.3.X. This could be fixed by changing the Maven home directory in Settings > Build, Execution, Deployment > Build Tools > Maven from Bundled (Maven 3) to /usr/share/maven.

After that all subdependencies got resolved as in previous IntelliJ versions.

Solution 18 - Java

So I was also facing this problem in lots of my organisation's codebase. On addition to the answers suggested above, we can tweak around with the allocation pool memory of the jvm. This is because, the volume of the dependencies brought in large codebases may be overwhelming for the jvm for IDE to build the project completely. Hence tried increasing XMX value and it worked! Added -Xmx3072 to resolve the issue of "not building" my Java project in IntelliJ

enter image description here

Solution 19 - Java

Maven - Reimport did not work for me. I have Spring project in STS(Eclipse) and my solution is to import project to IDEA like so:

  1. File - New - Project from Existing Sources... - select directory - choose Eclipse.
  2. Set Maven autoimport to true in settings.
  3. Then right click in pom.xml and choose Add as Maven Project.

    After this it has imported everything.

Solution 20 - Java

I had the similar issue with my macbook, just did a small change in pom.xml and it started downloading all dependencies:

Earlier dependencies were written as below for my windows machine:

<dependencies>
 <dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>
</dependencies>

I just removed the <dependencies> and </dependencies> tags and it started downloading all the dependencies:

<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>

I am not sure it will work for you or not.. but worked fine for me.

Thanks

Solution 21 - Java

Deleting the .idea folder from the project directory, and then re-importing the project as a Maven project is what worked for me.

Solution 22 - Java

In my case, path for JAVA used by MAVEN was not set as JAVA_HOME as configured on the machine. Hence, it was not even trying to download the dependencies. Steps I followed which solved this issue,

  1. Checked for JAVA path , Settings >> Build >> Build Tools >> Importing >> JDK for importer. Pointed it to JAVA_HOME.

  2. mvn clean install -U

    Used above command to force the dependencies download.

  3. Re imported Maven Projects

Solution 23 - Java

Invalidate Caches worked for me:

File > Invalidate Caches

Checks:

Clear file system cache and Local History
Clear downloaded shared indexes

Then Invalidate and Restart

Solution 24 - Java

I solved this issue by updating my settings.xml file with correct mirror config, seems that intellij will try to download meta-data from repository every time the maven module imported.

Solution 25 - Java

Hijacking a bit to add what ended up working for me:

Go into the Maven Projects sidebar on the right edge of the IDE, and verify that your dependencies are listed correctly under your module there. Assuming they are, just ask IDEA to reimport then (the first button at the top, looks like two blue arrows forming a counter-clockwise circle).

Once I did that, and let IDEA reload the project for me, all my dependencies were magically understood.

For reference: this was with IDEA 13.1.2

Solution 26 - Java

I faced the same problem and tried everything suggested which did not solve the issue, I was using Intellij version 13.1.3

Finally after spending more than couple of hours trying to fix it, I decided to try an upgraded version and opened the project in version 14.1.4 which ultimately resolved the issue. I would think this as a probable bug in the previous version.

I hope this helps!

Solution 27 - Java

I was able to resolve it by removing unnecessary modules from Project Settings -> Modules list.

enter image description here

It turns out these additional modules were created automatically by IntelliJ IDEA when I created the IntelliJ project by importing from the project folder (instead of by opening pom.xml). Then, after declaring the project as Maven project, proper modules were created, and existing modules were conflicting with them. It is also possible to exclude those modules during project creation.

Solution 28 - Java

In my case, one of the modules was ignored for some reason. To resolve that: Right click the problematic module and choose "Unignore Projects".

unignore project example

Solution 29 - Java

You might be working under a company's internal network.

If so, to download or add external Maven dependencies your settings.xml file under user/<username>/.m2 folder might need to be updated.

Contact your administrator to provide the right settings.xml file and then paste it into you .m2 folder.

Solution 30 - Java

IntelliJ 2020.3.3

This one did it for me.

Build, Execution, Deployment > Build Tools.

Change "Reload project after changes in the build scripts":

  • from default "External Changes" to "Any Changes"

enter image description here

With this, it took a while for the project to rebuild but now I can see Maven dependencies in IntelliJ:

enter image description here

Solution 31 - Java

In maven the dependencies got included for me when I removed the dependencyManagement xml section and just had dependencies directly under project section

Solution 32 - Java

If everything else fails, check if the jar file in your local .m2 repository is indeed valid and not corrupted. In my case, the file had not been fully downloaded.

Solution 33 - Java

The problem appears to be that despite listing your dependencies in the pom.xml, IntelliJ IDEA does not rebuild those dependencies when you run your project.

What worked for me is this:

Go to 'Run' -> 'Edit Configurations...', find your application, make sure the "Before launch:" section is expanded, click the green plus sign, and select "Build Project".

enter image description here

Solution 34 - Java

i was able to fix mine by adding this lines of code after the build tag in the pom.xml file, i compared it from my running project and discovered that was the difference, now i'm all good.

<repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>

Solution 35 - Java

> re-import-maven -> close-intellij -> delete-the-entire > -.idea-folder -> re-open-the-project -> build -> build-project/build-module-'your parent module'

Solution 36 - Java

  1. From maven tab click + and choose pom.xml
  2. From maven tab click download sources and documentation
  3. On project structure(where you can view project files/directories) right click the project you're trying to build and choose Build Module Project Name.
  4. From tab Run- Edit Configurations with + add Application and fill the below fields: i. Main Class- Manually choose from Project tab select the main class ii. Use classpath of module - choose the application name iii. Shorten command line - classpath file
  5. Now simply run the app.

Solution 37 - Java

A possible pattern for this issue is that you dont have connection to Nexus and basically you want to build the project in offline mode. But when you import the project Idea tries to download Maven dependencies automatically.. and fails. You set Work Offline checkbox in Settings, but its too late: something was already broken during initial download attempt. Neither of the options listed here worked for me to resolve this. Instead I did the following:

  1. first created empty Java (not Maven) project
  2. checked Work Offline option in Maven settings
  3. added my project as a Maven module to this new project

This way it worked.

Solution 38 - Java

The solution for this: -

  1. go to file -> settings -> maven -> maven home path
  2. there you will find bundled (maven 3) something like that select the appropriate home path of maven where the maven file is present in system (the path given in the environment variable)
  3. click on apply
  4. refresh the project.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionZaur GuliyevView Question on Stackoverflow
Solution 1 - JavaAlonso DominguezView Answer on Stackoverflow
Solution 2 - JavarogerdpackView Answer on Stackoverflow
Solution 3 - JavachichiView Answer on Stackoverflow
Solution 4 - JavaCrazyCoderView Answer on Stackoverflow
Solution 5 - JavaPaul BackView Answer on Stackoverflow
Solution 6 - JavaAnatolii StepaniukView Answer on Stackoverflow
Solution 7 - JavaUdoView Answer on Stackoverflow
Solution 8 - JavaYashaswi N PView Answer on Stackoverflow
Solution 9 - JavaPrashanth SamsView Answer on Stackoverflow
Solution 10 - JavaMarkus CoetzeeView Answer on Stackoverflow
Solution 11 - JavaJanoView Answer on Stackoverflow
Solution 12 - Javaamol13View Answer on Stackoverflow
Solution 13 - JavaBudView Answer on Stackoverflow
Solution 14 - JavadjechlinView Answer on Stackoverflow
Solution 15 - JavaDamith GanegodaView Answer on Stackoverflow
Solution 16 - JavapetreView Answer on Stackoverflow
Solution 17 - JavaJohannes StadlerView Answer on Stackoverflow
Solution 18 - Javaantarin karmakarView Answer on Stackoverflow
Solution 19 - JavaSvitlana OnishView Answer on Stackoverflow
Solution 20 - JavaAmit JoshiView Answer on Stackoverflow
Solution 21 - JavaJanac MeenaView Answer on Stackoverflow
Solution 22 - JavaAkanksha SharmaView Answer on Stackoverflow
Solution 23 - JavaNavy FlameView Answer on Stackoverflow
Solution 24 - JavaAbel ZhanView Answer on Stackoverflow
Solution 25 - JavaSunsparView Answer on Stackoverflow
Solution 26 - JavasjaiswalView Answer on Stackoverflow
Solution 27 - JavaelyorView Answer on Stackoverflow
Solution 28 - JavaelirandavView Answer on Stackoverflow
Solution 29 - Javanishchay3View Answer on Stackoverflow
Solution 30 - JavaxmarView Answer on Stackoverflow
Solution 31 - JavaseahorseView Answer on Stackoverflow
Solution 32 - JavaMarkus BarthlenView Answer on Stackoverflow
Solution 33 - JavaMike NakisView Answer on Stackoverflow
Solution 34 - JavaChibuezePaul ISoftView Answer on Stackoverflow
Solution 35 - JavaLiNKeRView Answer on Stackoverflow
Solution 36 - JavaJaydeep BhatiaView Answer on Stackoverflow
Solution 37 - JavaMiamiBeachView Answer on Stackoverflow
Solution 38 - Javanilesh nanawareView Answer on Stackoverflow