From 72152be42d57debd585cd9b9ed16d074df92a157 Mon Sep 17 00:00:00 2001 From: Kohsuke Kawaguchi Date: Fri, 19 Aug 2011 10:18:56 -0700 Subject: [PATCH] Detecting why this exception happens: mavenExecutionResult exceptions not empty message : Internal error: java.lang.NullPointerException cause : null Stack trace : org.apache.maven.InternalErrorException: Internal error: java.lang.NullPointerException at org.apache.maven.lifecycle.internal.BuilderCommon.handleBuildError(BuilderCommon.java:128) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:95) 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:319) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79) 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.launchStandard(Launcher.java:329) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239) at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158) at hudson.maven.Maven3Builder.call(Maven3Builder.java:121) at hudson.maven.Maven3Builder.call(Maven3Builder.java:73) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:287) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.NullPointerException at hudson.maven.MojoInfo.intercept(MojoInfo.java:208) at hudson.maven.reporters.MavenArtifactArchiver.preExecute(MavenArtifactArchiver.java:74) at hudson.maven.Maven3Builder$MavenExecutionListener.recordMojoStarted(Maven3Builder.java:535) at hudson.maven.Maven3Builder$MavenExecutionListener.forkStarted(Maven3Builder.java:671) at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:94) at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42) at org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:328) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:199) 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) ... 24 more channel stopped FATAL: null java.lang.NullPointerException at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:833) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:448) at hudson.model.Run.run(Run.java:1376) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:479) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:230) --- maven-plugin/src/main/java/hudson/maven/MojoInfo.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/maven-plugin/src/main/java/hudson/maven/MojoInfo.java b/maven-plugin/src/main/java/hudson/maven/MojoInfo.java index 467158c271..92aadebd67 100644 --- a/maven-plugin/src/main/java/hudson/maven/MojoInfo.java +++ b/maven-plugin/src/main/java/hudson/maven/MojoInfo.java @@ -92,6 +92,8 @@ public class MojoInfo { private final ConverterLookup converterLookup = new DefaultConverterLookup(); public MojoInfo(MojoExecution mojoExecution, Mojo mojo, PlexusConfiguration configuration, ExpressionEvaluator expressionEvaluator) { + if (mojo==null) throw new IllegalArgumentException(); + // TODO: exactly what other variables are always non-null? this.mojo = mojo; this.mojoExecution = mojoExecution; this.configuration = configuration; @@ -130,14 +132,13 @@ public class MojoInfo { PlexusConfiguration child = configuration.getChild(configName); if(child==null) return null; // no such config - ClassLoader cl = null; + ClassLoader cl; PluginDescriptor pd = mojoExecution.getMojoDescriptor().getPluginDescriptor(); // for maven2 builds ClassRealm doesn't extends ClassLoader ! // so check stuff with reflection Method method = ReflectionUtils.getPublicMethodNamed( pd.getClass(), "getClassRealm" ); - if ( ReflectionUtils.invokeMethod( method, pd ) instanceof ClassRealm) - { + if ( ReflectionUtils.invokeMethod( method, pd ) instanceof ClassRealm) { ClassRealm cr = (ClassRealm) ReflectionUtils.invokeMethod( method, pd ); cl = cr.getClassLoader(); } else { -- GitLab