Ankur Garg
Ankur Garg

Reputation: 2853

Maven not downloading dependencies in Eclipse

I am setting up a project in eclipse . This projects builds successfully through command line(all mvn commands like mvn package, mvn compile, mvn clean install) work perfectly fine. While setting up this project on STS or Eclipse . I see some of the dependencies are not getting downloaded even though they are present in pom.xml. However, searching them in the maven repository and downloading the jar to my local computer and then adding them to build path makes it work on Eclipse.

Is there anything that we need to do to eclipse to make sure it downloads all the dependencies from the repository.

My POM:

<dependency>
    <groupId>org.apache.bookkeeper</groupId>
    <artifactId>bookkeeper-server-compat410</artifactId>
    <version>4.1.0</version>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.apache.bookkeeper</groupId>
            <artifactId>bookkeeper-server</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.bookkeeper</groupId>
    <artifactId>bookkeeper-server-compat420</artifactId>
    <version>4.2.0</version>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.apache.bookkeeper</groupId>
            <artifactId>bookkeeper-server</artifactId>
        </exclusion>
    </exclusions>
</dependency>

Both these artifacts were not downloaded for eclipse and there jars found http://mvnrepository.com/artifact/org.apache.bookkeeper/bookkeeper-server-compat410/4.1.0 and http://mvnrepository.com/artifact/org.apache.bookkeeper/bookkeeper-server-compat420/4.2.0 were not present in the folder for MavenDependencies and were subsequently giving errors in Eclipse.

enter image description here

However manually adding them to the build path created a new folder (Reference Library) and resolved the Eclipse Errors . Why did Eclipse not download and import these dependencies by themselves from the maven repository ?? Is it a bug in Eclipse or some problem from my side . Please help.

enter image description here

Upvotes: 33

Views: 139841

Answers (12)

jawn
jawn

Reputation: 1029

I hope this helps someone as it took me 2 days to realize. I re-imported the project multiple times and followed every possible step I've seen online and in the end I had added a small piece of xml code within the pom.xml. Even though it wasn't erroring or even showing a warning it was preventing maven from reading the lifecycle-mappings.

Click into your pom.xml and go to the dependencies tab on the bottom left, if you see an error there it's likely your pom.xml is corrupted in some way and maven will never attempt to download the dependencies even though you won't get any real error. I had looked back at a previous PR and noticed where/what I added and removed it and was able to get maven to work.

enter image description here

Upvotes: 0

Puneet Lamba
Puneet Lamba

Reputation: 791

Make sure you're defining the dependency as close as possible to the leaf of the project tree where it is needed. Otherwise, Maven might ignore it.

For example, if you have a parent project that references projects A and B and the dependency is with respect to project A, then defining the dependency in the parent's pom.xml might get ignored by Maven. So, define it in project A's pom.xml.

Parent Project's pom.xml
   Sub-project A's pom.xml <<< define the dependency where it is needed
   Sub-project B's pom.xml

Upvotes: 0

Shubham Pandey
Shubham Pandey

Reputation: 1828

For me I changed the packaging from pom to jar, and then the dependency got downloaded.

so I changed from <packaging>pom</packaging> to <packaging>jar</packaging>

Upvotes: 0

Ankush kumar
Ankush kumar

Reputation: 61

  1. Try to move your dependencies from "type" tag to "scope" tag like below

or

<dependency>
        <groupId>net.xyz.xyz</groupId>
        <artifactId>xyz-xyz</artifactId>
        <version>x.y.z</version>
        <type>pom</type>
 </dependency>

or

<dependency>
            <groupId>net.xyz.xyz</groupId>
            <artifactId>xyz-xyz</artifactId>
            <version>x.y.z</version>
            <scope>test</scope> 
     </dependency>

then further Maven > Update Project

Upvotes: 0

Sumanth Varada
Sumanth Varada

Reputation: 1190

I have come across the same issue recently.

First of all you have to configure proxy settings in settings.xml in your maven repository.

If you are using eclipse/STS then please do verify following.

Window -> Preferences -> Maven -> User Settings -> update user settings by pointing your settings.xml

Now it's set to update the maven project. It worked for me.

Upvotes: 1

PAQuality101
PAQuality101

Reputation: 11

I had faced a similar issue and following the below steps helped me fix it.

  1. Delete the last modified jar from respective folders.
  2. Select the project

    • Right Click -> Maven

    • Update project..

It will download all the missing Jars.

Upvotes: 0

domids
domids

Reputation: 535

Sometimes there is an error downloading a dependency - eg. some files are downloaded but the actual JAR is missing from the local Maven repository.

In this case I had to delete the whole folder of the problematic dependency in the local maven repository. Only then did Maven update work (Right-click on the project and select Project > Maven > Update Project.... ) enter image description here enter image description here

Upvotes: 7

vinayrao
vinayrao

Reputation: 1

The following worked for me.
Just right-click on Project -> Maven -> Update Project... such as it is shown here.

Upvotes: 0

SachinB
SachinB

Reputation: 348

I was facing similar sort of issue. I tried deleting folders inside .m2 and again building maven project.
I could download all dependency except one dependency which we have created by ourselves and published on Nexus.
Then I changed by java pointing from JRE to JDK which solved my problem

Upvotes: 0

CKM
CKM

Reputation: 1971

In my case, I had unchecked Build automatically. Checking it again started downloading the jars.

Upvotes: 1

Tnadev
Tnadev

Reputation: 10112

Solution 1:

Set correct proxy:

<proxy>
    <id>optional</id>
    <active>false</active>
    <protocol>http</protocol>
    <username></username>
    <password></password>
    <host>172.27.171.91</host>
    <port>8080</port>
</proxy>

Solution2 :

just delete

lastupdated extension files from folder

and try updating maven.

[Most of the times this solution will work]

Upvotes: 7

Saket Mittal
Saket Mittal

Reputation: 3906

I got the same problem and this is how i solved. :

  1. Right click your project, choose Run As -> Maven install. Observe the output console to see the installation progress. After the installation is finished, you can continue to the next step.

enter image description here

enter image description here

  1. Right click your Spring MVC project, choose Maven -> Update Project.

enter image description here

  1. Choose your project and click OK. Wait until update process is finished.
  2. The error still yet, then do Project->Clean and then be sure you have selected our project directory and then do the follow Project->Build.

Upvotes: 35

Related Questions