[ https://jira.codehaus.org/browse/MNG-5185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=363484#comment-363484 ]
David Pilato commented on MNG-5185: ----------------------------------- I'd like to add here my own experience though it could be caused by some bad maven practices. I have a project A which defines in its {{pom.xml}} a repository with a given id: {code:xml} <repository> <id>lucene-snapshots</id> <url>https://download.elasticsearch.org/lucenesnapshots/1657571</url> </repository> {code} I have a project B which defines in its {{pom.xml}} a repository with another id: {code:xml} <repository> <id>another-id</id> <url>https://download.elasticsearch.org/lucenesnapshots/1657571</url> </repository> {code} Because of the {{_maven.repositories}} and {{_remote.repositories}} files, {{mvn compile}} can not work for the second project and the error raised appears super strange: {{Access denied to: URL_HERE, ReasonPhrase: Forbidden.}}. Removing local files in {{~/.m2/repository}} fixes the "remote" issue... o_O {code} find ~/.m2/repository -name _remote.repositories -exec rm -v {} \; find ~/.m2/repository -name _maven.repositories -exec rm -v {} \; {code} It means here that even though projects A and B might not be related at all, one can not compile because of a repository {{id}} in another project. I would like to: * fix the message and give more clue to the users (it took me multiple hours to find it) * fix the way maven deals with those local files in case of you have multiple ids for the same repository. May be try all of them before failing? I hope my feedback could help. Best! > Improve "missing dependency" error message when > _maven.repositories/_remote.repositories contains other repository ids than > requested > ------------------------------------------------------------------------------------------------------------------------------------- > > Key: MNG-5185 > URL: https://jira.codehaus.org/browse/MNG-5185 > Project: Maven > Issue Type: Improvement > Affects Versions: 3.0.2, 3.0.3, 3.0.4 > Reporter: Mark Derricutt > Assignee: Olivier Lamy > Fix For: Issues to be reviewed for 4.x > > Attachments: > 0001-MNG-5185-Warn-about-artifacts-present-but-not-available-eclipse-aether.patch, > 0001-MNG-5185-Warn-about-artifacts-present-but-not-availa.patch > > > Based on a discussion on the users list [1], [Maven 3 has changed how it > resolves artifacts from local > repositories|https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html#Maven3.xCompatibilityNotes-ResolutionfromLocalRepository]. > 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 -- This message was sent by Atlassian JIRA (v6.1.6#6162)