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
>

Reply via email to