Based on a discussion on the users list , 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