You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Michael Osipov (JIRA)" <ji...@apache.org> on 2016/04/16 22:32:25 UTC

[jira] [Commented] (MNG-6004) Emit better error message for simple XML typos

    [ https://issues.apache.org/jira/browse/MNG-6004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15244378#comment-15244378 ] 

Michael Osipov commented on MNG-6004:
-------------------------------------

Moved to Maven. This cannot be fixed on a per plugin level but must be fixed by the entire ecosystem in general. It won't probably never be implemented. JAXB doesn't provide you hints too that your XML does not correspond to the desired model.

> Emit better error message for simple XML typos
> ----------------------------------------------
>
>                 Key: MNG-6004
>                 URL: https://issues.apache.org/jira/browse/MNG-6004
>             Project: Maven
>          Issue Type: Improvement
>    Affects Versions: 3.3.9
>         Environment: Maven 3.2.5
>            Reporter: Archie Cobbs
>            Priority: Minor
>
> When porting a project from ant to maven, I accidentally said this:
> {noformat}
>             <configuration>
>               <links>
>                 <link href="http://www.slf4j.org/api/"/>
>               </links>
>             </configuration>
> {noformat}
> instead of this:
> {noformat}
>             <configuration>
>               <links>
>                 <link>http://www.slf4j.org/api/</link>
>               </links>
>             </configuration>
> {noformat}
> Easy enough mistake to make. However, the error message was utterly mystifying:
> {noformat}
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar (attach-javadocs) on project msrp4j: Execution attach-javadocs of goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar failed. NullPointerException -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar (attach-javadocs) on project msrp4j: Execution attach-javadocs of goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar failed.
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
> 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
> 	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
> 	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
> 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
> 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
> 	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
> 	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
> 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	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:415)
> 	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> Caused by: org.apache.maven.plugin.PluginExecutionException: Execution attach-javadocs of goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar failed.
> 	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:143)
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
> 	... 19 more
> Caused by: java.lang.NullPointerException
> 	at org.codehaus.plexus.util.xml.pull.MXSerializer.writeElementContent(MXSerializer.java:921)
> 	at org.codehaus.plexus.util.xml.pull.MXSerializer.text(MXSerializer.java:785)
> 	at org.apache.maven.plugin.javadoc.options.io.xpp3.JavadocOptionsXpp3Writer.writeJavadocOptions(JavadocOptionsXpp3Writer.java:268)
> 	at org.apache.maven.plugin.javadoc.options.io.xpp3.JavadocOptionsXpp3Writer.write(JavadocOptionsXpp3Writer.java:70)
> 	at org.apache.maven.plugin.javadoc.AbstractJavadocMojo.buildJavadocOptions(AbstractJavadocMojo.java:5867)
> 	at org.apache.maven.plugin.javadoc.AbstractJavadocMojo.executeReport(AbstractJavadocMojo.java:1857)
> 	at org.apache.maven.plugin.javadoc.JavadocJar.execute(JavadocJar.java:181)
> 	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
> 	... 20 more
> {noformat}
> Suggestion: include code that performs basic structural checks so as to make it impossible for a cryptic {{NullPointerException}} to occur simply due to incorrect POM input.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)