How to fix broken sub-module links in Maven Site for multi-module project?

maven, maven-site-plugin

Solution

I was able to fix this issue by adding a `<url>` element to the parent pom. I don't understand why that would fix it though.

Prior to adding the `<url>` element I saw this in the log after running `mvn site site:stage`

[WARNING] No project URL defined - decoration links will not be relativized!

After adding the element and rerunning the Maven command, the log now shows this:

[INFO] Relativizing decoration links with respect to project URL:

The module links in the Maven site report are now working.

The master branch of the sample github project has been updated with the solution

https://github.com/justinhrobbins/multi-module-site-report-test

More info on the purpose of the `<url>` element can be found here: https://maven.apache.org/plugins/maven-site-plugin/faq.html#Use_of_url

Problem

I am creating a Maven Site for a 3-level multi-module maven project which is structured like this: ``` parent child-a child-b ``` I am running `mvn site site:stage` The Maven site module link works for child-a but is broken for the nested module child-b. (The link to child-b does work if I first click the link to child-a.) See for yourself here: http://justinhrobbins.github.io/multi-module-site-report-test/site/0.0.1-SNAPSHOT/ I have the following in my parent pom: ``` <distributionManagement> <site> <id>site</id> <name>site</name> <url>scp://www.yourcompany.com/www/docs/project/</url> </site> </distributionManagement> ``` What needs to be done in order for the links to work for all the project modules in this Maven site report? (i know the `<url>` is not real, for the moment i want it to work in stage) I added a simple test case project to Github that demonstrates the issue: https://github.com/justinhrobbins/multi-module-site-report-test EDIT: I am using the following plugin versions: ``` <maven.site.plugin.version>3.3</maven.site.plugin.version> <maven.project.info.reports.plugin.version>2.7</maven.project.info.reports.plugin.version> ```

Original source