What I think you're running into is that Maven keeps track of from which repo an artifact in the local repo was downloaded from. When you remove/restore the mirror config the repo id most likely changes which causes Maven to try to download again. There should be a filed named _remote.repositories next to every artifact in the loca lrepo where you can find this info.
IIRC this was a change between Maven 2 and Maven 3, or a change that happened very early in the life of Maven 3. Before that Maven didn't keep track of from where an artifact was downloaded. /Anders On Fri, Feb 2, 2018 at 2:05 AM, Paul Benedict <pbened...@apache.org> wrote: > My Maven version is 3.3.9. For my typical use case, my settings.xml has a > <mirror> of "central" that provides a procured subset of artifacts. It > contains nearly everything I might need to do a desktop build. However, > sometimes I need to connect to the real "central" directly to try and test > an experimental artifact; therefore I temporarily wipe out my <mirror>, let > Maven resolve the artifact and place it in my local repository, and I can > test accordingly. > > Now this is where my trouble begins. After restoring my <mirror>, Maven > complains: "Failure to find xxx:yyy:1.0.0 .... was cached in local > repository, resolution will not be reattempted until...". > > This is very confusing to me. The artifact version is NOT a snapshot. Yes, > I am online, but why does Maven need to verify the artifact in the remote > repository given it already resides in my local repository? Since > non-snapshots can never be re-updated, I don't see a need for Maven to make > a remote connection. It seems unnecessary. > > Perhaps I am misunderstanding a requirement of Maven. I was really hoping I > could be disconnected from the artifact's remote repository, but evidently > not. Why is Maven acting this way? > > Thank you! > > Cheers, > Paul >