If you are using maven you may have been flabbergasted by an error like this
[ERROR] Non-resolvable parent POM: Failure to find at.test:test:pom:23 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 9, column 10
I had this error and was wondering why it was occurring? I had the parent artifact in my local repository. It was not missing. Maven did know this, because the log said
[DEBUG] Verifying availability of /home/stefon/.repository/at/test/test/23/test-23.pom from [central (http://repo.maven.apache.org/maven2, releases)]
So if I have the parent POM file in my repository and maven knows about it? Why are we getting an error?
As the file is not available on central, Maven will (correctly in my opinion) fail the build as the build would be non-reproducible.
So, what do we do if it is not possible to publish our parent pom artifact?
there is a CLI option that you can enabled in Maven 3.1.1 that tells Maven “I know what I am doing and don’t make that check this time” i.e. –legacy-local-repository
In other words:
mvn clean install --legacy-local-repository
Just remember: This is a hack and may break at any moment with a new maven version! There is an blog article where you can find other solutions for your problem