Plugin configurations can be placed on two levels; inside or outside the execution tag ("global").
When a configuration is inside the execution tag, it belongs to that particular execution. In your case, you will need to run mvn site to execute it, since it is tied to this phase.
When the mvn javadoc:aggregate command is used, it searches for a "global" configuration. There is no such configuration in your pom, and therefore it uses the default configuration.
Change your plugin configuration to this:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.9</version> <configuration> <links> <link>http://docs.oracle.com/javase/7/docs/api</link> <link>http://static.netty.io/3.5/api</link> <link>http://google-guice.googlecode.com/git/javadoc</link> <link>http://docs.guava-libraries.googlecode.com/git-history/release/javadoc</link> <link>http://fasterxml.github.com/jackson-databind/javadoc/2.0.4</link> <link>https://developers.google.com/protocol-buffers/docs/reference/java</link> </links> <bootclasspath>${sun.boot.class.path}</bootclasspath> <additionalJOption>-J-Xmx1024m</additionalJOption> <detectJavaApiLink>true</detectJavaApiLink> <detectLinks>true</detectLinks> <excludePackageNames>*.testing.*</excludePackageNames> </configuration> <executions> <execution> <id>aggregate</id> <phase>site</phase> <goals> <goal>aggregate</goal> </goals> </execution> </executions> </plugin>
You can put configuration inside the execution part to override and configure the configuration for this execution.
BTW <groupId> is incorrect in your pom. It should be
<groupId>org.apache.maven.plugins</groupId>
but not
<groupId>org.maven.apache.plugins</groupId>
source share