John Riedl created MNG-5349:
-------------------------------
Summary: NullPointerException if missing id in
org.apache.maven.lifecycle.Lifecycle
Key: MNG-5349
URL: https://jira.codehaus.org/browse/MNG-5349
Project: Maven 2 & 3
Issue Type: Bug
Components: Plugins and Lifecycle
Affects Versions: 3.0.4
Environment: Ubuntu Precise, Maven 3.0.4
Reporter: John Riedl
Priority: Minor
Attachments: components.xml, lifecycles.xml, phase-test.tar, pom.xml
I've been working with custom lifecycles, and accidentally left the "id" out of
one of them. You can see it in this example where I commented out the key line
(everything works fine if this line is uncommented):
<component-set>
<components>
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>phase-test</role-hint>
<implementation>
org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
</implementation>
</component>
<component>
<role>org.apache.maven.lifecycle.Lifecycle</role>
<role-hint>phase-test</role-hint>
<implementation>org.apache.maven.lifecycle.Lifecycle</implementation>
<configuration>
<!-- <id>phase-test</id> -->
<phases>
<phase>tp-pre-new-phase</phase>
<phase>tp-new-phase</phase>
<phase>tp-post-new-phase</phase>
</phases>
<default-phases>
<tp-new-phase>org.riedl:phase-test-maven-plugin:greet</tp-new-phase>
</default-phases>
</configuration>
</component>
</components>
</component-set>
~
Here's most of the stack trace:
(macro: ~/Src/lenskit-projects/tryout-phase-test-plugin) mvn tp-post-new-phase
[INFO] Scanning for projects...
[ERROR] Internal error: java.lang.NullPointerException -> [Help 1]
org.apache.maven.InternalErrorException: Internal error:
java.lang.NullPointerException
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:168)
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: java.lang.NullPointerException
at java.lang.String.compareTo(String.java:1167)
at
org.apache.maven.lifecycle.internal.DefaultLifecyclePluginAnalyzer$1.compare(DefaultLifecyclePluginAnalyzer.java:144)
at
org.apache.maven.lifecycle.internal.DefaultLifecyclePluginAnalyzer$1.compare(DefaultLifecyclePluginAnalyzer.java:140)
at java.util.Arrays.mergeSort(Arrays.java:1270)
at java.util.Arrays.sort(Arrays.java:1210)
at java.util.Collections.sort(Collections.java:159)
at
org.apache.maven.lifecycle.internal.DefaultLifecyclePluginAnalyzer.getOrderedLifecycles(DefaultLifecyclePluginAnalyzer.java:139)
at
org.apache.maven.lifecycle.internal.DefaultLifecyclePluginAnalyzer.getPluginsBoundByDefaultToAllLifecycles(DefaultLifecyclePluginAnalyzer.java:96)
at
org.apache.maven.model.plugin.DefaultLifecycleBindingsInjector.injectLifecycleBindings(DefaultLifecycleBindingsInjector.java:63)
at
org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:397)
at
org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:371)
at
org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:560)
The NullPointerException happens with most attempts to run the project, such as
"mvn foo". I've attached the pom.xml, lifecycles.xml, components.xml, and the
Java for the plugin. I think only components.xml is relevant.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira