Description
DefaultExceptionHandler classifies errors on goal execution. There is a special case when the root cause is NoClassDefFoundError with null message, it causes NPE with the stacktrace:
java.lang.NullPointerException at org.apache.maven.exception.DefaultExceptionHandler.getReference (DefaultExceptionHandler.java:212) at org.apache.maven.exception.DefaultExceptionHandler.getReference (DefaultExceptionHandler.java:231) at org.apache.maven.exception.DefaultExceptionHandler.handle (DefaultExceptionHandler.java:101) at org.apache.maven.exception.DefaultExceptionHandler.handleException (DefaultExceptionHandler.java:96) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288) at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) 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)
The problem here is that the real exception is lost and it's even not present in debug log mode. The full root exception is attached to the ticket (original-exception.txt).
The reason for this defect is trivial: DefaultExceptionHandler.java:212 does not have a null check for getMessage
Attachments
Attachments
Issue Links
- links to