Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-5185

Improve "missing dependency" error message when _maven.repositories/_remote.repositories contains other repository ids than requested



    • Improvement
    • Status: Reopened
    • Minor
    • Resolution: Unresolved
    • 3.0.2, 3.0.3, 3.0.4
    • None
    • None


      Based on a discussion on the users list [1], Maven 3 has changed how it resolves artifacts from local repositories. Unfortunately, when "conflicts" arise (GAV is cached in local repo, but restricted to some repository ids, and actual POM has no matching repository id declared), Maven just tells the user that the artifact could not be resolved.

      This leads to confusion from users who find the .jar files in their local repository without knowing this restriction feature: they just get frustrated and complain that "maven sucks".

      It would be good if Maven was updated with some improved error messages along the lines of:

      "The (GAV) artifact was found in your local repository, but came from remote repository "xxx": either configure this in your pom with (insert sample XML block in error message), or in your "yyy" mirror."

      The "mirror" section of the error message should be included if the current ~/.m2/settings.xml declares a mirror. By improving the messages here we can help the users move on to building software, rather than pulling out their hair

      [1] http://maven.40175.n5.nabble.com/Maven-3-maven-repositories-and-lastUpdated-td4927537.html


        Issue Links



              olamy Olivier Lamy
              mark@talios.com Mark Derricutt
              28 Vote for this issue
              34 Start watching this issue