I have a garden variety Maven project. It has several modules in it. Thus the root pom.xml
serves as both parent and aggregator in grand Maven fashion.
This project builds and installs fine.
The root pom.xml
inherits from a corporate pom.xml
with a stanza like this:
<parent>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>16</version> <!-- look, Ma, no SNAPSHOT -->
</parent>
When I run mvn site
against this root pom.xml
, the maven-site-plugin
version 3.2 reports that it cannot resolve the parent.
The parent is of course present in my local repository and in my local Nexus. No other phase of the lifecycle has any trouble resolving the parent.
Others have reported this issue. There is also another StackOverflow question on this subject but it was not immediately apparent that its issue was the exact same as mine.
Adding <relativePath/>
to the <parent>
stanza above (my first thought) did not alter the behavior in any way.
How can I get the maven-site-plugin
to resolve the parent pom.xml
?
This is a bug in the Maven site plugin. The Maven site plugin for various reasons will only ever look for dependencies in what it thinks is Maven central.
Therefore you either have to:
- Have a
<mirror>
element that proxies central through your own Nexus server. - In your local Maven repository, find the parent
pom
artifact area. Edit its_maven.repositories
file so that any mention of the repository name itself is replaced with an empty string.
I chose the latter option. After this the build runs fine.
Apparently downgrading to 3.3 of the site plugin can also work. :-(
- File name is
_remote.repositories
(Maven 3.1.1) Commenting out the lines work as well.
来源:https://stackoverflow.com/questions/15366056/how-can-i-get-the-maven-site-plugin-to-resolve-the-parent-pom-xml-of-my-multimod