You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Christian Schulte (JIRA)" <ji...@codehaus.org> on 2008/12/28 16:57:19 UTC

[jira] Issue Comment Edited: (MJAVADOC-145) If Javadoc is set to aggregate, the build fails inside a Maven plugin module

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

Christian Schulte edited comment on MJAVADOC-145 at 12/28/08 9:55 AM:
----------------------------------------------------------------------

Having

{code:xml}
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.5</version>
        <reportSets>
          <reportSet>
            <id>javadoc</id>
            <inherited>true</inherited>
            <reports>
              <report>javadoc</report>
            </reports>
            <configuration>
              <aggregate>false</aggregate>
              <author>true</author>
              <charset>UTF-8</charset>
              <docencoding>UTF-8</docencoding>
              <encoding>UTF-8</encoding>
              <keywords>true</keywords>
              <doctitle>${pom.name} Specification ${pom.version}</doctitle>
              <linksource>true</linksource>
              <nodeprecated>true</nodeprecated>
              <quiet>false</quiet>
              <verbose>false</verbose>
              <serialwarn>true</serialwarn>
              <windowtitle>${pom.name} Specification ${pom.version}</windowtitle>
              <overview>${basedir}/src/main/javadoc/overview.html</overview>
              <show>public</show>
              <links>
                <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
              </links>
            </configuration>
          </reportSet>
          <reportSet>
            <id>aggregate</id>
            <inherited>false</inherited>
            <reports>
              <report>aggregate</report>
            </reports>
            <configuration>
              <aggregate>true</aggregate>
              <breakiterator>true</breakiterator>
              <charset>UTF-8</charset>
              <docencoding>UTF-8</docencoding>
              <encoding>UTF-8</encoding>
              <keywords>false</keywords>
              <linksource>true</linksource>
              <serialwarn>true</serialwarn>
              <show>private</show>
              <doctitle>${pom.name} Specification ${pom.version}</doctitle>
              <windowtitle>${pom.name} Specification ${pom.version}</windowtitle>
            </configuration>
          </reportSet>
        </reportSets>
      </plugin>
{code}

in a parent pom from a multi-module project containing a mojo artifact defined like

{code:java}
 * @goal java-resources
 * @phase generate-sources
 * @requiresDependencyResolution compile
{code}

still produces a similar stacktrace for me

{code:java}
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Error extracting plugin descriptor: 'Goal: java-resources already exists in the plugin descriptor for prefix: some-prefix
Existing implementation is: some.package.JavaResourcesMojo
Conflicting implementation is: some.package.JavaResourcesMojo'
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:583)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkProjectLifecycle(DefaultLifecycleExecutor.java:924)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkLifecycle(DefaultLifecycleExecutor.java:767)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:549)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error extracting plugin descriptor: 'Goal: java-resources already exists in the plugin descriptor for prefix: some-prefix
Existing implementation is: some.package.JavaResourcesMojo
Conflicting implementation is: some.package.JavaResourcesMojo'
        at org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute(AbstractGeneratorMojo.java:158)
        at org.apache.maven.plugin.plugin.HelpGeneratorMojo.execute(HelpGeneratorMojo.java:63)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
        ... 20 more
Caused by: org.apache.maven.plugin.descriptor.DuplicateMojoDescriptorException: Goal: java-resources already exists in the plugin descriptor for prefix: some-prefix
Existing implementation is: some.package.JavaResourcesMojo
Conflicting implementation is: some.package.JavaResourcesMojo
        at org.apache.maven.plugin.descriptor.PluginDescriptor.addMojo(PluginDescriptor.java:103)
        at org.apache.maven.tools.plugin.scanner.DefaultMojoScanner.populatePluginDescriptor(DefaultMojoScanner.java:110)
        at org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute(AbstractGeneratorMojo.java:146)
        ... 23 more

{code}

when executing

{code:java}
mvn site:stage -DstagingDirectory=/tmp/staging -e
{code}


      was (Author: schulte2005):
    Having

{{code}}
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.5</version>
        <reportSets>
          <reportSet>
            <id>javadoc</id>
            <inherited>true</inherited>
            <reports>
              <report>javadoc</report>
            </reports>
            <configuration>
              <aggregate>false</aggregate>
              <author>true</author>
              <charset>UTF-8</charset>
              <docencoding>UTF-8</docencoding>
              <encoding>UTF-8</encoding>
              <keywords>true</keywords>
              <doctitle>${pom.name} Specification ${pom.version}</doctitle>
              <linksource>true</linksource>
              <nodeprecated>true</nodeprecated>
              <quiet>false</quiet>
              <verbose>false</verbose>
              <serialwarn>true</serialwarn>
              <windowtitle>${pom.name} Specification ${pom.version}</windowtitle>
              <overview>${basedir}/src/main/javadoc/overview.html</overview>
              <show>public</show>
              <links>
                <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
              </links>
            </configuration>
          </reportSet>
          <reportSet>
            <id>aggregate</id>
            <inherited>false</inherited>
            <reports>
              <report>aggregate</report>
            </reports>
            <configuration>
              <aggregate>true</aggregate>
              <breakiterator>true</breakiterator>
              <charset>UTF-8</charset>
              <docencoding>UTF-8</docencoding>
              <encoding>UTF-8</encoding>
              <keywords>false</keywords>
              <linksource>true</linksource>
              <serialwarn>true</serialwarn>
              <show>private</show>
              <doctitle>${pom.name} Specification ${pom.version}</doctitle>
              <windowtitle>${pom.name} Specification ${pom.version}</windowtitle>
            </configuration>
          </reportSet>
        </reportSets>
      </plugin>
{{code}}

in a parent pom from a multi-module project containing a mojo artifact defined like

{{code}}
 * @goal java-resources
 * @phase generate-sources
 * @requiresDependencyResolution compile
{{code}}

still produces a similar stacktrace for me

{{code}}
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Error extracting plugin descriptor: 'Goal: java-resources already exists in the plugin descriptor for prefix: some-prefix
Existing implementation is: some.package.JavaResourcesMojo
Conflicting implementation is: some.package.JavaResourcesMojo'
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:583)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkProjectLifecycle(DefaultLifecycleExecutor.java:924)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkLifecycle(DefaultLifecycleExecutor.java:767)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:549)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error extracting plugin descriptor: 'Goal: java-resources already exists in the plugin descriptor for prefix: some-prefix
Existing implementation is: some.package.JavaResourcesMojo
Conflicting implementation is: some.package.JavaResourcesMojo'
        at org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute(AbstractGeneratorMojo.java:158)
        at org.apache.maven.plugin.plugin.HelpGeneratorMojo.execute(HelpGeneratorMojo.java:63)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
        ... 20 more
Caused by: org.apache.maven.plugin.descriptor.DuplicateMojoDescriptorException: Goal: java-resources already exists in the plugin descriptor for prefix: some-prefix
Existing implementation is: some.package.JavaResourcesMojo
Conflicting implementation is: some.package.JavaResourcesMojo
        at org.apache.maven.plugin.descriptor.PluginDescriptor.addMojo(PluginDescriptor.java:103)
        at org.apache.maven.tools.plugin.scanner.DefaultMojoScanner.populatePluginDescriptor(DefaultMojoScanner.java:110)
        at org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute(AbstractGeneratorMojo.java:146)
        ... 23 more

{{code}}

when executing

{{code}}
mvn site:stage -DstagingDirectory=/tmp/staging -e
{{code}}

  
> If Javadoc is set to aggregate, the build fails inside a Maven plugin module
> ----------------------------------------------------------------------------
>
>                 Key: MJAVADOC-145
>                 URL: http://jira.codehaus.org/browse/MJAVADOC-145
>             Project: Maven 2.x Javadoc Plugin
>          Issue Type: Bug
>    Affects Versions: 2.3
>            Reporter: Howard M. Lewis Ship
>            Assignee: Vincent Siveton
>            Priority: Critical
>             Fix For: 2.4
>
>         Attachments: ComponentReport.java, maven.out, pom.xml, pom.xml
>
>
> If your project contains a Maven plugin, then it is impossible to build aggregated Javadoc.
> As the output (attached) shows, Maven seems to recusively build (what's with all those "skipping" messages?).  When it reaches the plugin:
> [INFO] Error during page generation
> Embedded error: Error rendering Maven report: Error extracting plugin descriptor: 'Goal: component-report already exists in the plugin descriptor for prefix: tapestry-component-report
> Existing implementation is: org.apache.tapestry.mojo.ComponentReport
> Conflicting implementation is: org.apache.tapestry.mojo.ComponentReport'
> I  can get by this with the -fn (fail never) option.

-- 
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