score:210

Accepted answer

There are a few other options apart from Project->Clean, some of which are more along the lines of turning it off and on again.

  • Try right-clicking on the project and selecting Maven->Update Project Configuration.
  • Disable then re-enable dependency management (right-click Maven->Disable Dependency Management then Maven->Enable Dependency Management
  • Close the project and reopen it.
  • Check that your Maven settings are configured correctly. If you are behind a proxy you'll need to configure the proxy settings in the global or user settings.
  • Check you're using the Maven installation you expect. By default m2eclipse uses the embedder, if you have a separate installation you may want to configure m2eclipse to use the external installation so that CLI and Eclipse builds are consistent. This also ensures you're configured to connect through any proxy as above.

score:-1

sudo eclipse

The issue for me was related to @maximilianus's question - in that eclipse was unable to locate the artifacts on my machine.

Turns out all I had to do was run ubuntu as super user, and eclipse could access the /root/.m2/ directory

(Not sure this is good practice, but it solved a problem I've spent hours on)

Edit: This is not definitely good practice, instead I setup my environment all over again, as a normal user rather than root, and it worked fine! (Learning Linux)

score:0

My case following procedure solve the issue

1- enter image description here

2- check the active profile enter image description here

score:0

I faced this problem a couple of times. The following solution worked for me.

  1. copy the existing pom file as a back up, and delete the dependency that's causing this error. delete the contents of the folder which this artifact is referring to.
  2. add the deleted dependency in the pom again and add the jar files in that folder.
  3. do a Maven->update Project. The errors will go away.

As a side note, sometimes when you're copying files from some other computer there may be encryption.

score:0

I had a similar solution like @maximilianus. The difference was that my .repositories files were called _remote.repositores and I had to delete them to make it work.

For eg in my case I deleted

  • C:\Users\USERNAME.m2\repository\jta\jta\1.0.1_remote.repositories and
  • C:\Users\USERNAME.m2\repository\jndi\jndi\1.2.1_remote.repositories

After doing so my errors disappeared.

score:0

I was getting a similar problem with SBT and slf4j. Nothing had changed, but on one machine it suddenly wouldn't build.

I tried:

  • sbt clean
  • deleting target/
  • deleting project working directory and doing a fresh checkout/build
  • deleting the ~/.sbt/<scala-version>/ folder
  • deleting the offending slf4j folder from the ~/.ivy2 cache
  • placing the missing slf4j jars in the expected ivy2 folder

None of the above worked.

So, I had to bite the bullet and delete my entire ~/.ivy2/ cache folder and wait for 2GB of dependencies to be downloaded again. I'm not familiar with what sort of cache manifests get written in there, but this must have been a corruption of one of them.

(using SBT 2.10.4 for Spark builds)

score:0

If the other solutions didn't work and you know the correct jars are in your repository then:

The problem is that eclipse caches the errors for some reason.

I solved this problem by deleting the errors in the Problems tab and then I refreshed the project explorer and all the exclamation points and errors never returned.

score:0

I have seen a bug that manifested as "Error installing artifact: File ../null/... does not exist" (that is, the file was not found because there was "null" in the path). The reason was that one environment variable was not visible to maven. It was:

JV_SRCROOT=$DIRECTORY

instead of

export JV_SRCROOT=$DIRECTORY

(in the latter case the variable is visible to child processes)

score:0

After running eclipse:clean eclipse:eclipse its worked for me. enter image description here

score:0

Just in order to provide one more possible solution: In my case, I removed "central" from .m2/jdom/jdom/1.0 settings, and did everything else, without results.

So I discovered my settings.xml in ./m2 folder was stuck by a failed process. As I didn't found the process in the system task manager, I restarted the computer and it worked.

score:0

If nothing else works which was the case for me, in the problems view, right click and copy the errors and paste it in a text editor. And scroll down to see if there are other errors besides just the missing artifact.

Eclipse problems view only shows about 100 errors and the errors that are not visible might be the ones that's causing all the other missing artifact errors.

Once I saw all the errors, I was able to figure out what the issue was and fixed it.

score:0

I have tried many tips but the only one that works is this one. Update the Maven configuration. Right-click on pom.xml, Run as -> Maven build (the 2nd one). Enter "clean package" in the Goals fields. Check the Skip Tests box. Then Run, it will properly download all the jars and the problem is fixed.

score:0

I tried all of the above solutions except manually installing jar in my repository.

By deleting the _remote_repositories file in the same directory as the "missing jar file" and doing maven update I got it to work.

This is the same end result as manually installing, I presume.

score:0

My problem: I forgot to import a newly added project (added by my co-worker) into my eclipse workspace.

File > Import > Maven > Existing Maven Projects, find it in the dir-tree, check the single non-ghosted one which is not already added.

Details: My co-worker had added a new project which was a git submodule. Existing projects referred to it in their pom.xml. I had already done "git submodule init" and "git submodule update". mvn built fine from the command-line but I kept getting this "Missing artifact" error in eclipse pointing at the top of my pom.xml.

score:0

None of the solutions above worked for me.

I had to delete all my maven local repository. Right click Project -> Maven -> Update Project. And FIXED!!

score:0

When I copied from maven repository, there was 4th row called <type>. When I removed this <type>, it solved my error.

score:0

My case its version was missing and I found by searching that package in maven central with the version of "spring-boot-starter-parent"

Before change:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.6</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

After Change:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.6</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.5.6</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <version>2.5.6</version>
        <scope>test</scope>
    </dependency>

Just changed added version of the parent to the missing dependency

score:0

In my case the solution was to just delete the .m2 directory and run the build again.

Note: This will trigger the download of all the artifacts again, so I don't recommend doing it on slow or metered connections.

score:1

As i tried all above as my friends said but nothing worked actually, I was facing same problem and found solution in some different way my issue starts when i added below repository

<dependency>
  <groupId>dom4j</groupId>
  <artifactId>dom4j</artifactId>
  <version>20040902.021138</version>
</dependency>

and my problem starts...so then i changed the version and took previous version and it removed all error. So i think this issue can because of the version we are adding in POM.xml file.

score:1

The following steps worked for me.

1) Cut all the contents from pom.xml file and keep it another file and save the pom.xml
2) Just delete .m2 folder(entire maven repository) and restart the eclipse(or jbdevstudio)
3) paste the previous pom.xml file content(from the cut file) and all the error are gone.

score:1

I was facing the same issue and below step removed all these errors :

  • Right click Project -> Maven -> Update Project

score:1

I used the below code in pom.xml to download the jar

<dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.1.0.FINAL</version>
</dependency>

But in the .m2 folder under validation folder...the jar didnt get downloaded. I am not sure about the issue. But i downloaded the same jar from maven official website and placed in the .m2 folder under respective folder and cleaned the project. The error gone and it started working now.

score:2

i download the missing jar and placed in the .m2 repository fixed the problem =]

score:2

I had the same problem, maven was complaining about a missing artifact, even though it existed in .m2/repository/[...]. In my case the problem was that I forgot to specify the correct repository in the pom.xml from which the package was downloaded originally (download by another project).

Adding the package repository to the pom.xml solved the problem.

<repositories>
  <repository>
    <id>SomeName</id>
    <name>SomeName</name>
    <url>http://url.to.repo</url>
  </repository>
</repositories>

Thanks Maximilianus for the hint to those "*.repositories" files in the package directory.

score:2

Ohh what a mess! My advise: When its comes to messy poms or project packaging, Eclipse is really bad at showing the real problem. It will tell you some dependencies are missing, when in fact for pom is malformed or some other problem are present in your pom.

Leave Eclipse alone are run a maven install. You will get to the real problem really quick!

score:3

M2Eclipse sometimes does that. Select Project > Clean ... from the Menu and everything will be fine after the rebuild

score:3

I had the similar problem. Just after adding below dependency

<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.9.1</version>
    <type>bundle</type>
</dependency>

caused the problem. I deleted that dependency even then I'm getting the same error. I don't know what happened. I tried updating the maven dependency configuration which solved my issue.

score:3

After not much success with any of the answers available here so far.

My solution:

I downloaded the jar file manually and then installed the dependency by using Apache Maven install:install-file plugin, see more details here

A Full Example:

<dependency>
     <groupId>commons-net</groupId>
     <artifactId>commons-net</artifactId>
     <version>3.4</version>
</dependency>
  1. Download jar file from here

  2. Install it by using the following command:

mvn -X install:install-file " -DgroupId=commons-net" "-DartifactId=commons-net" "-Dversion=3.4" "-Dpackaging=jar" "-Dfile={your_full_downloads_path}/commons-net-3.4.jar"

  1. Click on the project and select Maven->Update Project

score:4

Finally, it turned out to be a missing artifact of solr that seemed to block all the rest of my build cycle.

I have no idea why mvn behaves like that, but upgrading to the latest version fixed it.

score:8

Wow, this had me tearing my hair out, banging my head against walls, tables and other things. I had the same or a similar issue as the OP where it was either missing / not downloading the jar files or downloading them, but not including them in the Maven dependencies with the same error message. My limited knowledge of java packaging and maven probably didn't help.

For me the problem seems to have been caused by the Dependency Type "bundle" (but I don't know how or why). I was using the Add Dependency dialog in Eclipse Mars on the pom.xml, which allows you to search and browse the central repository. I was searching and adding a dependency to jackson-core libraries, picking the latest version, available as a bundle. This kept failing.

So finally, I changed the dependency properties form bundle to jar (again using the dependency properties window), which finally downloaded and referenced the dependencies properly after saving the changes.

score:14

I had similar problem. it was showing error "Missing artifact......".After digging in, I found that I have proxy settings enabled which should be configured (proxyname, user/pwd) in setting.xml inside conf folder of Maven. As a resolution go to Eclipse....Windows->preferences->Maven->UserSettings....and update the user setting to point the setting.xml which you have inside conf folder of Maven. After that go to Project->Update All Maven Dependencies. It should work fine after the build.

score:14

I was facing the same error with Spring Boot dependencies. What solved for me was letting Maven resolve the dependencies wrapping them with dependency management:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.0.RELEASE</version>
</parent>

<dependencyManagement>
    <dependencies>
      <dependency>...</dependency>
      ...
    </dependencies>
</dependencyManagement>

score:25

I had the same problem. Rich Seller's solution didn't work for my situation, I fixed it by cancel the Window -> Preferences -> Maven. Do not automatically update dependencies from remote repositories option, then right-clicking on the project and selecting Maven->Update Project.

score:54

I encountered similar issue. The missing artifacts (jar files) exists in ~/.m2 directory and somehow eclipse is unable to find it.

For example: Missing artifact org.jdom:jdom:jar:1.1:compile

I looked through this directory ~/.m2/repository/org/jdom/jdom/1.1 and I noticed there is this file _maven.repositories. I opened it using text editor and saw the following entry:

#NOTE: This is an internal implementation file, its format can be changed without prior notice.
#Wed Feb 13 17:12:29 SGT 2013
jdom-1.1.jar>central=
jdom-1.1.pom>central=

I simply removed the "central" word from the file:

#NOTE: This is an internal implementation file, its format can be changed without prior notice.
#Wed Feb 13 17:12:29 SGT 2013
jdom-1.1.jar>=
jdom-1.1.pom>=

and run Maven > Update Project from eclipse and it just worked :) Note that your file may contain other keyword instead of "central".

score:62

I received this same issue on SpringSource Tools ver 2.8.0.RELEASE. I had to do Maven -> Update Maven Dependencies and check the option for "Force Update of Snapshot/Releases".


Related Query

More Query from same tag