[ 
http://jira.codehaus.org/browse/MJAVADOC-251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benjamin Bentmann closed MJAVADOC-251.
--------------------------------------

         Assignee: Benjamin Bentmann
       Resolution: Fixed
    Fix Version/s: 2.6.1

Fixed in [r800618|http://svn.apache.org/viewvc?view=rev&revision=800618].

> Configuration of javadoc:javadoc fails with NPE upon disadvantageous order of 
> config injection
> ----------------------------------------------------------------------------------------------
>
>                 Key: MJAVADOC-251
>                 URL: http://jira.codehaus.org/browse/MJAVADOC-251
>             Project: Maven 2.x Javadoc Plugin
>          Issue Type: Bug
>    Affects Versions: 2.6
>            Reporter: Benjamin Bentmann
>            Assignee: Benjamin Bentmann
>            Priority: Critical
>             Fix For: 2.6.1
>
>
> Compare these two logs from Maven 3.x
> {noformat}
> [DEBUG] Configuring mojo 
> 'org.apache.maven.plugins:maven-javadoc-plugin:2.5:javadoc' with basic 
> configurator -->
> [DEBUG]   (f) nosince = false
> [DEBUG]   (f) use = true
> [DEBUG]   (f) bootclasspathArtifacts = []
> [DEBUG]   (f) links = []
> [DEBUG]   (f) encoding = UTF-8
> [DEBUG]   (f) aggregate = false
> [DEBUG]   (f) tags = []
> [DEBUG]   (f) isOffline = false
> [DEBUG]   (f) useStandardDocletOptions = true
> [DEBUG]   (f) taglets = []
> [DEBUG]   (f) doctitle = Maven Ant Plugin 2.3-SNAPSHOT API
> [DEBUG]   (f) resourcesArtifacts = []
> [DEBUG]   (s) reportOutputDirectory = 
> M:\maven\plugins\maven-ant-plugin\target\site\apidocs
> Unable to parse the created DOM for plugin configuration
> org.apache.maven.plugin.PluginConfigurationException: Unable to parse the 
> created DOM for plugin configuration
>         at 
> org.apache.maven.plugin.DefaultPluginManager.populatePluginFields(DefaultPluginManager.java:611)
>         at 
> org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(DefaultPluginManager.java:564)
>         at 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:336)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:281)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:208)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:181)
>         at 
> org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:467)
>         at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:163)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:56)
>         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:597)
>         at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>         at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
>         at 
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408)
>         at 
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351)
> Caused by: 
> org.codehaus.plexus.component.configurator.ComponentConfigurationException:
> Setter
>   org.apache.maven.plugin.javadoc.JavadocReport.setReportOutputDirectory( 
> java.lang.Class )
> threw exception when called with parameter 
> 'M:\maven\plugins\maven-ant-plugin\target\site\apidocs': null
>         at 
> org.codehaus.plexus.component.configurator.converters.ComponentValueSetter.setValueUsingSetter(ComponentValueSetter.java:204)
>         at 
> org.codehaus.plexus.component.configurator.converters.ComponentValueSetter.configure(ComponentValueSetter.java:225)
>         at 
> org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration(ObjectWithFieldsConverter.java:140)
>         at 
> org.codehaus.plexus.component.configurator.BasicComponentConfigurator.configureComponent(BasicComponentConfigurator.java:58)
>         at 
> org.apache.maven.plugin.DefaultPluginManager.populatePluginFields(DefaultPluginManager.java:605)
>         ... 16 more
> Caused by: java.lang.reflect.InvocationTargetException
>         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:597)
>         at 
> org.codehaus.plexus.component.configurator.converters.ComponentValueSetter.setValueUsingSetter(ComponentValueSetter.java:191)
>         ... 20 more
> Caused by: java.lang.NullPointerException
>         at java.lang.String.endsWith(String.java:1466)
>         at 
> org.apache.maven.plugin.javadoc.JavadocReport.setReportOutputDirectory(JavadocReport.java:184)
>         ... 25 more
> {noformat}
> and from Maven 2.2.x
> {noformat}
> [DEBUG] Configuring mojo 
> 'org.apache.maven.plugins:maven-javadoc-plugin:2.5:javadoc' -->
> [DEBUG]   (f) aggregate = false
> [DEBUG]   (f) author = true
> [DEBUG]   (f) bootclasspathArtifacts = []
> [DEBUG]   (f) bottom = Copyright © {inceptionYear}-{currentYear} 
> {organizationName}. All Rights Reserved.
> [DEBUG]   (f) breakiterator = false
> [DEBUG]   (f) debug = false
> [DEBUG]   (f) destDir = apidocs
> [DEBUG]   (f) docfilessubdirs = false
> [DEBUG]   (f) docletArtifact = groupId = 'null'artifactId = 'null'version = 
> 'null'
> [DEBUG]   (f) docletArtifacts = []
> [DEBUG]   (f) doctitle = Maven Ant Plugin 2.3-SNAPSHOT API
> [DEBUG]   (f) encoding = UTF-8
> [DEBUG]   (f) failOnError = true
> [DEBUG]   (f) groups = []
> [DEBUG]   (f) isOffline = false
> [DEBUG]   (f) javadocDirectory = 
> M:\maven\plugins\maven-ant-plugin\src\main\javadoc
> [DEBUG]   (f) keywords = false
> [DEBUG]   (f) links = []
> [DEBUG]   (f) linksource = false
> [DEBUG]   (f) localRepository = Repository[local|file://U:\Jeder\Maven-2]
> [DEBUG]   (f) nocomment = false
> [DEBUG]   (f) nodeprecated = false
> [DEBUG]   (f) nodeprecatedlist = false
> [DEBUG]   (f) nohelp = false
> [DEBUG]   (f) noindex = false
> [DEBUG]   (f) nonavbar = false
> [DEBUG]   (f) nooverview = false
> [DEBUG]   (f) nosince = false
> [DEBUG]   (f) notimestamp = false
> [DEBUG]   (f) notree = false
> [DEBUG]   (f) offlineLinks = []
> [DEBUG]   (f) old = false
> [DEBUG]   (f) outputDirectory = 
> M:\maven\plugins\maven-ant-plugin\target\apidocs
> [DEBUG]   (f) overview = 
> M:\maven\plugins\maven-ant-plugin\src\main\javadoc\overview.html
> [DEBUG]   (f) project = MavenProject: 
> org.apache.maven.plugins:maven-ant-plugin:2.3-SNAPSHOT @ 
> M:\maven\plugins\maven-ant-plugin\pom.xml
> [DEBUG]   (f) quiet = false
> [DEBUG]   (f) reactorProjects = [MavenProject: 
> org.apache.maven.plugins:maven-ant-plugin:2.3-SNAPSHOT @ 
> M:\maven\plugins\maven-ant-plugin\pom.xml]
> [DEBUG]   (f) remoteRepositories = 
> [Repository[apache.snapshots|http://repository.apache.org/snapshots], 
> Repository[central|http://repo1.maven.org/maven2]]
> [DEBUG]   (s) reportOutputDirectory = 
> M:\maven\plugins\maven-ant-plugin\target\site\apidocs
> [DEBUG]   (f) resourcesArtifacts = []
> [DEBUG]   (f) serialwarn = false
> [DEBUG]   (f) session = org.apache.maven.execution.mavensess...@272961
> [DEBUG]   (f) settings = org.apache.maven.settings.setti...@1c0b8a0
> [DEBUG]   (f) show = protected
> [DEBUG]   (f) skip = false
> [DEBUG]   (f) splitindex = false
> [DEBUG]   (f) stylesheet = java
> [DEBUG]   (f) tagletArtifact = groupId = 'null'artifactId = 'null'version = 
> 'null'
> [DEBUG]   (f) tagletArtifacts = []
> [DEBUG]   (f) taglets = []
> [DEBUG]   (f) tags = []
> [DEBUG]   (f) use = true
> [DEBUG]   (f) useStandardDocletOptions = true
> [DEBUG]   (f) verbose = false
> [DEBUG]   (f) version = true
> [DEBUG]   (f) windowtitle = Maven Ant Plugin 2.3-SNAPSHOT API
> [DEBUG] -- end configuration --
> {noformat}
> Note the different order in which the parameter values are injected. When 
> {{reportOutputDirectory}} is injected before {{destDir}}, the mojo produces 
> the NPE.
> The plugin should not rely on any particular ordering of the parameters.

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

        

Reply via email to