Author: bentmann
Date: Wed Jun 17 20:37:02 2009
New Revision: 785783
URL: http://svn.apache.org/viewvc?rev=785783&view=rev
Log:
[MNG-3012] ClassCastException due to plexus-utils NOT being filtered during
plugin loading
o Restored fix
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=785783&r1=785782&r2=785783&view=diff
==============================================================================
---
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
(original)
+++
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
Wed Jun 17 20:37:02 2009
@@ -56,6 +56,7 @@
import org.codehaus.plexus.classworlds.ClassWorld;
import org.codehaus.plexus.classworlds.realm.ClassRealm;
import org.codehaus.plexus.classworlds.realm.DuplicateRealmException;
+import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import
org.codehaus.plexus.component.composition.CycleDetectedInComponentGraphException;
@@ -456,6 +457,20 @@
{
ClassRealm pluginRealm = world.newRealm( realmId );
pluginRealm.setParentRealm( container.getContainerRealm()
);
+
+ String coreRealmId = container.getContainerRealm().getId();
+ try
+ {
+ pluginRealm.importFrom( coreRealmId,
"org.codehaus.plexus.util.xml.Xpp3Dom" );
+ pluginRealm.importFrom( coreRealmId,
"org.codehaus.plexus.util.xml.pull.XmlPullParser" );
+ pluginRealm.importFrom( coreRealmId,
"org.codehaus.plexus.util.xml.pull.XmlPullParserException" );
+ pluginRealm.importFrom( coreRealmId,
"org.codehaus.plexus.util.xml.pull.XmlSerializer" );
+ }
+ catch ( NoSuchRealmException e )
+ {
+ throw new IllegalStateException( e );
+ }
+
return pluginRealm;
}
catch ( DuplicateRealmException e )