Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.6
-
None
-
None
Description
Compare these two logs from Maven 3.x
[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
and from Maven 2.2.x
[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.MavenSession@272961 [DEBUG] (f) settings = org.apache.maven.settings.Settings@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 --
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.
Attachments
Issue Links
- relates to
-
MPLUGIN-156 Stabilize ordering of configuration and requirements in generated plugin descriptor
- Closed