Issue Details (XML | Word | Printable)

Key: MJAVADOC-178
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Vincent Siveton
Reporter: Sebastian Annies
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Maven 2.x Javadoc Plugin

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

Created: 25/Feb/08 09:37 AM   Updated: 29/May/08 05:43 PM   Resolved: 29/May/08 05:43 PM
Return to search
Component/s: None
Affects Version/s: 2.3
Fix Version/s: 2.5

Time Tracking:
Not Specified

File Attachments: 1. Java Archive File build-utils-1.0.9-SNAPSHOT.jar (9 kB)

Environment: any


 Description  « Hide

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.



Vincent Siveton added a comment - 29/May/08 05:43 PM

Fixed in r661516, snapshot deployed