Summary

This recipe describes how to attach source and javadoc artifacts to your build.

Prerequisite Plugins

Here is the list of the plugins used:

Plugin Version
source 2.0.4
javadoc 2.3

Sample Generated Output

attach-source-javadoc
|-- pom.xml
|-- src\
`-- target
    `-- attach-source-javadoc-1.0-SNAPSHOT.jar
    `-- attach-source-javadoc-1.0-SNAPSHOT-javadoc.jar
    `-- attach-source-javadoc-1.0-SNAPSHOT-sources.jar

Recipe

Configuring Maven Source Plugin

We execute the source:jar goal from the source plugin during the package phase.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-source-plugin</artifactId>
  <executions>
    <execution>
      <id>attach-sources</id>
      <goals>
        <goal>jar</goal>
      </goals>
    </execution>
  </executions>
</plugin>

Configuring Maven Javadoc Plugin

Same thing for the javadoc:jar goal from the javadoc plugin.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-javadoc-plugin</artifactId>
  <executions>
    <execution>
      <id>attach-javadocs</id>
      <goals>
        <goal>jar</goal>
      </goals>
    </execution>
  </executions>
</plugin>

Running Maven

Just call Maven to generate the packages:

mvn package

Other Tips

To improve the build time or for a release, you could also define these plugins in a profile.

Back to top

Reflow Maven skin by Andrius Velykis.