Maven: Parent POM in repo, but Non-resolvable error

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.
(Mailarchive Maven-Users)

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

Advertisements

Tags: , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: