mirror of https://github.com/apache/maven.git
[MNG-2690] DefaultPluginManager.getConfiguredMojo() doesn't handle NoClassDefFoundError correctly
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@801964 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ae33045c96
commit
d24d7049c6
|
@ -525,8 +525,23 @@ public class DefaultPluginManager
|
||||||
}
|
}
|
||||||
catch ( ComponentLookupException e )
|
catch ( ComponentLookupException e )
|
||||||
{
|
{
|
||||||
|
Throwable cause = e.getCause();
|
||||||
|
while ( cause != null && !( cause instanceof LinkageError )
|
||||||
|
&& !( cause instanceof ClassNotFoundException ) )
|
||||||
|
{
|
||||||
|
cause = cause.getCause();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ( cause instanceof NoClassDefFoundError ) || ( cause instanceof ClassNotFoundException ) )
|
||||||
|
{
|
||||||
|
throw new PluginContainerException( mojoDescriptor, pluginRealm, "Unable to load the mojo '"
|
||||||
|
+ mojoDescriptor.getGoal() + "' in the plugin '" + pluginDescriptor.getId()
|
||||||
|
+ "'. A required class is missing: " + cause.getMessage(), e );
|
||||||
|
}
|
||||||
|
|
||||||
throw new PluginContainerException( mojoDescriptor, pluginRealm, "Unable to find the mojo '"
|
throw new PluginContainerException( mojoDescriptor, pluginRealm, "Unable to find the mojo '"
|
||||||
+ mojoDescriptor.getGoal() + "' in the plugin '" + pluginDescriptor.getId() + "'", e );
|
+ mojoDescriptor.getGoal() + "' (or one of its required components) in the plugin '"
|
||||||
|
+ pluginDescriptor.getId() + "'", e );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( mojo instanceof ContextEnabled )
|
if ( mojo instanceof ContextEnabled )
|
||||||
|
|
Loading…
Reference in New Issue