IntellijIDEA not recognizing classes specified in Maven dependencies

JavaMavenIntellij Idea

Java Problem Overview


I have a project in IntellijIDEA which was created with Maven. I then specified a set of dependencies and external repositories in the Pom.xml file.

The project builds fine on command line if I do "mvn install". When I open any of the code files in the IDE though it says all the classes handled by Maven dependencies aren't recognized - as it would for a normal project if I never added the required JARs to the build path.

I know in my Eclipse Maven projects (rather than IntelliJ) it usually shows an extra directory on the left which says "Maven Dependencies" and lists the JARs pulled in via maven. I don't see that here. What am I doing wrong?


Here's what my screen looks like:

IDE Image

Java Solutions


Solution 1 - Java

For some reason re-import did not do the trick. After looking at this:

http://www.jetbrains.com/idea/webhelp/maven-importing.html

I set auto-import and then the problem went away though; hopefully it helps someone else. Thanks for the ideas everyone :).

Solution 2 - Java

After installing IntelliJ IDEA on a new computer I found myself with the same issue.

I had to update the remote maven repository. (Settings > Maven > Repositories)

enter image description here

Both local and remote repos needed to be updated. The remote one wasn't updated ever before this. After a restart everything worked fine. You might have to reimport your project.

Solution 3 - Java

Right click on the pom.xml -> Add as Maven project -> Reimport

Maven import

Solution 4 - Java

You could go to:

File > Settings > Build, Execution, Deployment > Build Tools > Maven

and check if your pom.xml is not in the "Ignored Files" list.

Solution 5 - Java

I was running into similar issues. For me it ended up being that I was importing the project incorrectly. I had been doing

import project
    <navigate to existing project and click top level directory>
    follow the wizard

What solved my maven problems was to do

import project
    <navigate to existing project and click the pom.xml
    follow the wizard

Solution 6 - Java

For me File>>Invalidate Cache/Restart>>Invalidate and Restart worked in IntelliJ

Solution 7 - Java

Idea cannot download all dependent jar packages using maven,try the following operations:

mvn -U idea:idea

then all the dependent jar packages are download from the maven repository

Solution 8 - Java

A simple reimport and/or update of the repositories via Intellij did not do the trick for me.

Instead I had to delete the complete ~/.m2/repository directory and let maven sort everything out by itself. Afterwards Maven -> Reimport finished it off.

Solution 9 - Java

I've encountered a similar issue after refactoring my maven project into different modules. Re-importing on it's own usually doesn't work, but I've found that deleting the .iml files and then re-importing usually does the trick.

Solution 10 - Java

Ran into the "same" issue some days ago. It might not be related as my issue was more specific to Spring boot but as I was struggling with it and tried every solution on this post I'm going to share my experience.

What I was trying to do is to add one of my spring boot app into another project as a maven dependency. The dependency was resolved but I couldn't access my classes.

> When no packaging is declared, Maven assumes the default packaging is JAR. The JAR generated by the Spring Boot Maven Plugin overrides the default one generated by Maven.

The solution was:

> The solution that we found is to generate another JAR which will be used as a dependency to be imported from other projects.

The full article which helped me solve my issue.

Hope it helps someone.

Solution 11 - Java

For reasons I don't understand, in my case, I needed turn on setting "Always update snapshots" in Build, Executions, Deployment > Build Tools > Maven.

That made IntelliJ redownload dependencies and make it work.

Solution 12 - Java

In my case the problem was that the project was in maven2 while intellj was configured for maven3. Switching to maven2 in settings solved the problem

Solution 13 - Java

Might be useful to others that were still stuck like me. None of the suggested fix worked. Actually, not before I fixed my main problem which was the installation location of maven.

In my case, I did not use the standard location. Changing that location in the maven settings (Settings/Maven/Maven home repository) did the trick.

My 2 cents.

Solution 14 - Java

Cache is causing problems! Make sure to do the following:

In your terminal, go to project/module:

mvn clean install

In your IntelliJ:

  1. File > Invalidate Caches > Invalidate

  2. Right click on project/module > Maven > Reimport

Solution 15 - Java

For my case I should have checked the work offline

Go to File>Settings >Build, Execution, Deployment >Build tools>Maven Then check Work Offline

Solution 16 - Java

This also happened to me after upgrading Intellij to 1.4.15. I tried to re-import the whole project with same result, but enabling Maven Auto Import did the tricks.

Solution 17 - Java

Looks like there are several, valid reasons why intelliJ would ignore a pom file. None of the previous answers worked in my case, so here's what did work, in case someone else runs into this issue:

In this example, module3 was being completely ignored by IntelliJ. The pom.xml in that directory wasn't even being treated as a maven pom.

My project structure is like this:

myProject
    module1
    module2
    module3

BUT, my (simplified) pom structure is like this:

<project>
	<modelVersion>4.0.0</modelVersion>
	<groupId>devs</groupId>
	<artifactId>myProject</artifactId>
	<version>0.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>myProject</name>

	<modules>
		<module>module1</module>
		<module>module2</module>
	<modules>
	
	<profiles>
		<profile>
			<id>CompleteBuildProfile</id>
			<modules>
				<module>module3</module>
			</modules>
		</profile>
	</profiles>
</project>

To fix this, I modified the root <modules> element to add in module3 temporarily.

	<modules>
		<module>module1</module>
		<module>module2</module>
		<module>module3</module>
	<modules>

Next re-import the root pom, and IntelliJ will add the module. When that's done, revert the pom. IntelliJ will ask if you also want to remove module3 from the project structure. Click No.

Bam! Done. Module3 works and I can run my Integration tests from IntelliJ again :D

Solution 18 - Java

The problem was caused for me by selecting the project directory to be Imported when first starting IntelliJ rather than the pom.xml file for the project.

Closing the problem project and then following the Import process again but choosing the pom.xml resulted in a fully working project in the IDE.

Solution 19 - Java

For me the problem seems to be a conflict with the maven helper plugin (https://plugins.jetbrains.com/plugin/7179?pr=idea).

I disable it, and it works again :)

Solution 20 - Java

Go to File > Settings > Build, Execution, Deployment > Build Tools > Maven and check the Maven home directory. This should be the same maven installation used for command line

Solution 21 - Java

For me, what did the trick was to add the dependencies in File > Project Settings > Modules > Dependencies.

Solution 22 - Java

Just delete your project's .idea folder and re-import your project in IntelliJ.

Solution 23 - Java

If you have any dependencies in pom.xml specific to your organisation than you need to update path of setting.xml for your project which is by default set to your user directory in Ubuntu : /home/user/.m2/settings.xml -> (change it to your apache-maven conf path)

Go to -> intellij settings -> build,Execution, Deployement -> Build Tools -> Maven -> User settings file

Update Setting.xml file Intellij

Solution 24 - Java

Restart, Invalid caches, outside building, none worked for me.

Only Reimport worked finally. For others sake, putting it as answer:

Right click the project > Maven > Reimport

Solution 25 - Java

While importing a New project :

1.To identify all the modules in a project as maven modules: File --->New Project Settings -->Build Execution deployment -->build tools --> maven ---> importing ---> enable "search for projects recursively"

Solution 26 - Java

Option1: Right-click on the main project folder => Add Framework Support => Check Maven option

Option2: right-click on the pom.xml file and click on "Add as a maven project"

Solution 27 - Java

This happened when I was upgrading from Java from 8 to 11 and Spring version. All the dependencies in the maven section disappeared as if no pom file existed. Was able to find the issue by doing

mvn clean

It showed me that one of the dependencies was missing version tag and it needed one.

<dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
</dependency>

After adding version to the above dependency it started showing up all the dependencies under maven section.

Solution 28 - Java

In my case the my maven home path was pointing to Bundled Maven 3 instead of where my .m2 folder was located, fixed it by going to File > Settings > Build, Execution and Deployment > Maven > Maven home path and adding C:/Program Files/apache-maven-3.5.4

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
QuestionJohn HumphreysView Question on Stackoverflow
Solution 1 - JavaJohn HumphreysView Answer on Stackoverflow
Solution 2 - JavaMaxView Answer on Stackoverflow
Solution 3 - JavaGayan WeerakuttiView Answer on Stackoverflow
Solution 4 - JavaJarekView Answer on Stackoverflow
Solution 5 - JavagrinchView Answer on Stackoverflow
Solution 6 - JavaSherin SyriacView Answer on Stackoverflow
Solution 7 - JavaVijay GodithiView Answer on Stackoverflow
Solution 8 - JavaMattView Answer on Stackoverflow
Solution 9 - JavaMichael RaceView Answer on Stackoverflow
Solution 10 - JavaBoggieView Answer on Stackoverflow
Solution 11 - JavaKrešimir NesekView Answer on Stackoverflow
Solution 12 - JavaStefano GhezziView Answer on Stackoverflow
Solution 13 - JavamikeyView Answer on Stackoverflow
Solution 14 - JavaLuis MendozaView Answer on Stackoverflow
Solution 15 - JavaZeinab GhaffarnasabView Answer on Stackoverflow
Solution 16 - JavaEirikView Answer on Stackoverflow
Solution 17 - JavaHankScorpioView Answer on Stackoverflow
Solution 18 - JavanickebbittView Answer on Stackoverflow
Solution 19 - JavafanView Answer on Stackoverflow
Solution 20 - JavaAkilaView Answer on Stackoverflow
Solution 21 - Javahosford42View Answer on Stackoverflow
Solution 22 - JavagospodinView Answer on Stackoverflow
Solution 23 - JavaPukhraj soniView Answer on Stackoverflow
Solution 24 - JavaKrishPrabakarView Answer on Stackoverflow
Solution 25 - JavaSaranya GView Answer on Stackoverflow
Solution 26 - JavaIkbelView Answer on Stackoverflow
Solution 27 - JavaanandView Answer on Stackoverflow
Solution 28 - JavaShay RiberaView Answer on Stackoverflow