Maven 2.x Javadoc Plugin

Transitive Dependencies to Taglet Artifacts are not resolved nor added to the classpath

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 2.3
  • Fix Version/s: 2.5
  • Component/s: None
  • Labels:
    None
  • Environment:
    any
  • Number of attachments :
    1

Description

My taglet artifact has a dependency to commons-lang. But when executing the javadoc target the javadoc process complains with a ClassNotFoundException (in my case StringEscapeUtils but that doesn't matter).
Hmm - I had a look into the source and as far as I can see it the transitive dependencies are not resolved (only resolve is called and not resolveTransitively).

The workaround is to specify the transitive dependencies by hand taglet definitions without <tagletClass> elements:

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <taglets>
            <taglet>

              <tagletClass>com.coremedia.drm.javadoc.api.ExampleTaglet</tagletClass>

              <tagletArtifact>
                <groupId>com.coremedia.drm.roapserver</groupId>
                <artifactId>build-utils</artifactId>
                <version>1.0.9-SNAPSHOT</version>
              </tagletArtifact>
            </taglet>
            <taglet>

              <tagletArtifact>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>2.3</version>
              </tagletArtifact>
            </taglet>
          </taglets>
        </configuration>
      </plugin>

To reproduce remove the second <taglet> element and include an @api.example tag in one of your classes.

Activity

Hide
Vincent Siveton added a comment -

Fixed in r661516, snapshot deployed

Show
Vincent Siveton added a comment - Fixed in r661516, snapshot deployed

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: