You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Robert Scholte (JIRA)" <ji...@codehaus.org> on 2013/02/16 16:23:13 UTC
[jira] (MNG-5349) NullPointerException if missing id in
org.apache.maven.lifecycle.Lifecycle
[ 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