diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java index 2d174443cd..7cbb7991a0 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java @@ -813,6 +813,11 @@ private Mojo getConfiguredMojo( MavenSession session, // lookups that occur in contextualize calls in line with the right realm. container.setLookupRealm( pluginRealm ); + ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); + Thread.currentThread().setContextClassLoader( pluginRealm ); + try + { + getLogger().debug( "Looking up mojo " + mojoDescriptor.getRoleHint() + " in realm " + pluginRealm.getId() + " - descRealmId=" @@ -900,6 +905,10 @@ private Mojo getConfiguredMojo( MavenSession session, populatePluginFields( mojo, mojoDescriptor, extractedMojoConfiguration, expressionEvaluator ); return mojo; + + } finally { + Thread.currentThread().setContextClassLoader( oldClassLoader ); + } } private void checkDeprecatedParameters( MojoDescriptor mojoDescriptor, diff --git a/maven-embedder/src/test/java/org/apache/maven/embedder/TestComponentOverride.java b/maven-embedder/src/test/java/org/apache/maven/embedder/TestComponentOverride.java index 102c2a3c89..3b412ec8a4 100644 --- a/maven-embedder/src/test/java/org/apache/maven/embedder/TestComponentOverride.java +++ b/maven-embedder/src/test/java/org/apache/maven/embedder/TestComponentOverride.java @@ -66,7 +66,7 @@ public void customize( PlexusContainer container ) public void testComponentOverride() throws ComponentLookupException { - ArtifactFactory factory = (ArtifactFactory) container.lookup( ArtifactFactory.class ); + ArtifactFactory factory = container.lookup( ArtifactFactory.class ); assertNotNull( factory );