The maven site plugin does not deploy subprojects in a project with multiple modules or generates index.html

I have a multi-module project for which I want to deploy a site, but it seems that my deployment configuration of my site is not inherited by the child modules of the subproject.

  • parent
    • Modulea
    • moduleB

In the file system they are located relative to each other:

/parent/ /moduleA/ /moduleB/ 

When I run:

 mvn site-deploy -P documentation 

My parent project is deployed correctly so that:

  • SCP: // devServer / documentation / webwars /

But none of the subprojects, such as moduleA or moduleB, are deployed there, as I would expect if the child modules inherit the parent distribution of control:

  • SCP: // devServer / documentation / webwars / ModuleA
  • SCP: // devServer / documentation / webwars / moduleB

Here is my parent pom.xml, I removed some extraneous details and report plugins (I included my javadoc plugin, which is a bit funky using APIViz and aggregate to ensure that aggregated parent javadocs and child javadocs use APIViz correctly.):

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.webwars</groupId> <artifactId> parent</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <name>parent</name> <distributionManagement> <site> <id>webwarsDev.website</id> <url>scp://devServer/documentation/webwars/</url> </site> </distributionManagement> <modules> <module>../moduleA</module> <module>../moduleB</module> </modules> <profiles> <profile> <id>documentation</id> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <executions> <execution> <id>verify_pmd</id> <phase>verify</phase> <goals> <goal>pmd</goal> </goals> <configuration> <linkXref>true</linkXref> <minimumTokens>20</minimumTokens> <targetJdk>1.6</targetJdk> </configuration> </execution> </executions> </plugin> </plugins> </pluginManagement> </build> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.1.2</version> <reportSets> <reportSet> <reports> <report>project-team</report> <report>cim</report> <report>scm</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.6.1</version> <configuration> <!-- Default configuration for all reports --> <detectOfflineLinks>true</detectOfflineLinks> <!-- <detectLinks>true</detectLinks> --> <detectJavaApiLink>true</detectJavaApiLink> <linksource>true</linksource> <useStandardDocletOptions>true</useStandardDocletOptions> <charset>UTF-8</charset> <encoding>UTF-8</encoding> <docencoding>UTF-8</docencoding> <breakiterator>true</breakiterator> <version>true</version> <author>true</author> <keywords>true</keywords> <minmemory>128m</minmemory> <maxmemory>512m</maxmemory> <doclet>org.jboss.apiviz.APIviz</doclet> <docletArtifact> <groupId>org.jboss.apiviz</groupId> <artifactId>apiviz</artifactId> <version>1.3.0.GA</version> </docletArtifact> <additionalparam> -charset UTF-8 -docencoding UTF-8 -version -author -breakiterator -linksource -sourcetab 4 -windowtitle "${project.name} ${project.version} API Reference" -doctitle "${project.name} ${project.version} API Reference" -bottom "Copyright Β© ${project.inceptionYear}-Present ${project.organization.name}. All Rights Reserved." -link http://java.sun.com/javase/6/docs/api/ </additionalparam> </configuration> <reportSets> <reportSet> <id>non-aggregate</id> <configuration> <!-- Specific configuration for the non aggregate report --> <doclet>org.jboss.apiviz.APIviz</doclet> <docletArtifact> <groupId>org.jboss.apiviz</groupId> <artifactId>apiviz</artifactId> <version>1.3.0.GA</version> </docletArtifact> <additionalparam> -charset UTF-8 -docencoding UTF-8 -version -author -breakiterator -linksource -sourcetab 4 -windowtitle "${project.name} ${project.version} API Reference" -doctitle "${project.name} ${project.version} API Reference" -bottom "Copyright Β© ${project.inceptionYear}-Present ${project.organization.name}. All Rights Reserved." -link http://java.sun.com/javase/6/docs/api/ -sourceclasspath ${project.build.outputDirectory} </additionalparam> </configuration> <reports> <report>javadoc</report> </reports> </reportSet> <reportSet> <id>aggregate</id> <configuration> <!-- Specific configuration for the aggregate report --> <doclet>org.jboss.apiviz.APIviz</doclet> <docletArtifact> <groupId>org.jboss.apiviz</groupId> <artifactId>apiviz</artifactId> <version>1.3.0.GA</version> </docletArtifact> <additionalparam> -charset UTF-8 -docencoding UTF-8 -version -author -breakiterator -linksource -sourcetab 4 -windowtitle "${project.name} ${project.version} API Reference" -doctitle "${project.name} ${project.version} API Reference" -bottom "Copyright Β© ${project.inceptionYear}-Present ${project.organization.name}. All Rights Reserved." -link http://java.sun.com/javase/6/docs/api/ </additionalparam> </configuration> <reports> <report>aggregate</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <configuration> <linkJavadoc>true</linkJavadoc> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <configuration> <formats> <format>xml</format> <format>html</format> </formats> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.1</version> </plugin> </plugins> </reporting> </profile> </profiles> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </pluginManagement> </build> </project> 

I tried to define an explicit distribution of control in each module of the subproject that is being deployed properly, except that the subproject's child site will not have index.html ??

I do not have src / site / files such as src / site / site.xml or src / site / apt / index.apt.

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.webwars</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> <relativePath>../parent</relativePath> </parent> <groupId>com.webwars</groupId> <artifactId>moduleA</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>moduleA</name> <distributionManagement> <site> <id>webwarsDev.website</id> <url>scp://devServer/documentation/webwars/moduleA</url> </site> </distributionManagement> 
+6
maven-2 maven-plugin javadoc documentation-generation maven-site-plugin
source share
1 answer

Maybe I'm wrong, but I think you need to configure the maven-project-info-reports-plugin to create an "index" report that is currently not the case (you configured it to create the project team, cim and scm). You need to add an index report:

 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.1.2</version> <reportSets> <reportSet> <reports> <report>index</report> <report>project-team</report> <report>cim</report> <report>scm</report> </reports> </reportSet> </reportSets> </plugin> 
+1
source share

All Articles