[ https://jira.codehaus.org/browse/MNG-5349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Scholte updated MNG-5349: -------------------------------- Description: 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): {code:xml} <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> ~ {code} Here's most of the stack trace: {noformat} (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) {noformat} 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. was: 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. > 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): > {code:xml} > <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> > ~ > {code} > Here's most of the stack trace: > {noformat} > (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) > {noformat} > 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