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

ASF GitHub Bot commented on MNG-5288:
-------------------------------------

Github user pono closed the pull request at:

    https://github.com/apache/maven/pull/52


> NullPointerException thrown by DefaultExceptionHandler, obscuring underlying 
> ProjectBuildingException
> -----------------------------------------------------------------------------------------------------
>
>                 Key: MNG-5288
>                 URL: https://issues.apache.org/jira/browse/MNG-5288
>             Project: Maven
>          Issue Type: Bug
>          Components: Errors
>    Affects Versions: 3.0.4
>         Environment: Linux 2.6.32-5-686
>            Reporter: Alex McManus
>
> Running the Maven build with -X, I get the following stack trace from Maven:
> {code}
> [ERROR] Error executing Maven.
> java.lang.NullPointerException
>       at 
> org.apache.maven.exception.DefaultExceptionHandler.handle(DefaultExceptionHandler.java:104)
>       at 
> org.apache.maven.exception.DefaultExceptionHandler.handleException(DefaultExceptionHandler.java:89)
>       at org.apache.maven.cli.MavenCli.execute(MavenCli.java:553)
>       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
>       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:290)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
> {code}
> The underlying problem in my build is a custom plugin that fails to resolve 
> an artifact. I can solve this, but clearly NPEs in Maven's error handling 
> code is not good. I can see the original exception by putting in an explicit 
> try-catch in the plugin:
> {code}
> org.apache.maven.project.ProjectBuildingException: Error resolving project 
> artifact: Could not find artifact 
> org.oclc.merlins.service-directory:service-directory-api:pom:1.16.0 for 
> project org.oclc.merlins.service-directory:service-directory-api:pom:1.16.0
>       at 
> org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:296)
>       at 
> org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:267)
>       at org.apache.maven.project.ProjectBuilder$build.call(Unknown Source)
>       at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
>       at 
> org.oclc.build.tools.mojo.MavenContext.getMavenContext(MavenContext.groovy:374)
>       at org.oclc.build.tools.mojo.MavenContext$getMavenContext.call(Unknown 
> Source)
>       at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
>       at 
> org.oclc.build.tools.api.plugin.check.CheckApiMojo.execute(CheckApiMojo.groovy:120)
>       at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
>       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:84)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
>       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
>       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
>       at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
>       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
>       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:290)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
> Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: Could 
> not find artifact 
> org.oclc.merlins.service-directory:service-directory-api:pom:1.16.0
>       at 
> org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:538)
>       at 
> org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:216)
>       at 
> org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:193)
>       at 
> org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:286)
>       at 
> org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:285)
>       ... 32 more
> Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Could not 
> find artifact 
> org.oclc.merlins.service-directory:service-directory-api:pom:1.16.0
>       at 
> org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:528)
>       ... 36 more
> {code}



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

Reply via email to