You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Bryon Jacob (JIRA)" <ji...@codehaus.org> on 2011/01/27 15:29:57 UTC

[jira] Commented: (MJAVADOC-302) Classpath cleared after maven-javadoc-plugin:javadoc

    [ http://jira.codehaus.org/browse/MJAVADOC-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=253164#action_253164 ] 

Bryon Jacob commented on MJAVADOC-302:
--------------------------------------

a workaround, which might help indicate the source of the problem, is to use the "aggregate" goal instead of the "javadoc" goal.

it appears that the two goals do essentially the same thing, except that the aggregate goal is run as an aggregator plugin:
 http://maven.apache.org/plugins/maven-javadoc-plugin/javadoc-mojo.html
 http://maven.apache.org/plugins/maven-javadoc-plugin/aggregate-mojo.html
 http://docs.codehaus.org/display/MAVEN/Aggregator+Plugins

which has the benefit that the execution is always forked, so the classpath munging doesn't affect the rest of your lifecycle.  Looking at the source, you can see that the "aggregate" goal simply extends the "javadoc" goal and turns on the "aggregator" bit:
 http://maven.apache.org/plugins/maven-javadoc-plugin/xref/org/apache/maven/plugin/javadoc/AggregatorJavadocReport.html

Looking at the wiki on Aggregator Plugins, I don't see any reason why it should be dangerous to use that on a non-aggregate project, and empirically, this seems to work around the issues Bryan mentions above.


> Classpath cleared after maven-javadoc-plugin:javadoc
> ----------------------------------------------------
>
>                 Key: MJAVADOC-302
>                 URL: http://jira.codehaus.org/browse/MJAVADOC-302
>             Project: Maven 2.x Javadoc Plugin
>          Issue Type: Bug
>    Affects Versions: 2.5, 2.6, 2.6.1, 2.7
>         Environment: mac OSX 10.6.4
>            Reporter: Bryan Campbell
>            Priority: Blocker
>
> Repro Case:
>   - I have a war based maven configuration with the maven-javadoc-plugin as copied below.
>   - > mvn jetty:run
> Result:
>   - When jetty loads, every servlet fails to load, the first is always java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener followed by null pointers and CNFE's on every servlet.
> When i take out the execution of the maven-javadoc-plugin everything works?!  My only guess is that when the javadoc plugin runs, it does something with the classpath such that when jetty runs it doesn't have what it needs to find all the classes correctly. 
> My javadoc configuration is as follows:
> <plugin>
>   <groupId>org.apache.maven.plugins</groupId>
>   <artifactId>maven-javadoc-plugin</artifactId>
>   <executions>
>     <execution>
>       <goals>
>         <goal>javadoc</goal>
>       </goals>
>       <phase>generate-resources</phase>
>     </execution>
>   </executions>
> </plugin>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira