Details
Description
Typing a goal like:
mvn help:
or
mvn group:artifact:version:goal:onetoomany
Results in:
[ERROR] NullPointerException java.lang.NullPointerException at org.apache.maven.lifecycle.internal.MojoDescriptorCreator.findPlugin(MojoDescriptorCreator.java:288) at org.apache.maven.lifecycle.internal.MojoDescriptorCreator.injectPluginDeclarationFromProject(MojoDescriptorCreator.java:268) at org.apache.maven.lifecycle.internal.MojoDescriptorCreator.getMojoDescriptor(MojoDescriptorCreator.java:211) at org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator.calculateTaskSegments(DefaultLifecycleTaskSegmentCalculator.java:106) at org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator.calculateTaskSegments(DefaultLifecycleTaskSegmentCalculator.java:86) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:98)
In Maven 2.2.1, it produced an error message to adjust the goal format.
Fixed in r1005860. After discussing with Benjamin, decided not to go for an IllegalArgumentException as it would not represent a clear error link to the user receiving it. Instead, the empty goal or overspecified goal (goal:toomany) are sent to the MojoNotFoundException so the user ends up getting back valid choices of goals from the plugin in question.