You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by ke...@apache.org on 2005/09/19 03:29:25 UTC
svn commit: r290040 - in /maven/components/trunk:
maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
Author: kenney
Date: Sun Sep 18 18:29:18 2005
New Revision: 290040
URL: http://svn.apache.org/viewcvs?rev=290040&view=rev
Log:
Fixed MNG-908: set the contextClassLoader to the classrealm of the
currently executing plugin, so that both getClass().getClassLoader()
and Thread.currentThread().getContextClassLoader() return the same
classloader (and hence resources).
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=290040&r1=290039&r2=290040&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 Sun Sep 18 18:29:18 2005
@@ -352,8 +352,13 @@
dispatcher.dispatchStart( event, goalExecId );
+ ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
+
try
{
+ Thread.currentThread().setContextClassLoader(
+ mojoDescriptor.getPluginDescriptor().getClassRealm().getClassLoader() );
+
plugin.execute();
dispatcher.dispatchEnd( event, goalExecId );
@@ -366,6 +371,9 @@
}
finally
{
+
+ Thread.currentThread().setContextClassLoader( oldClassLoader );
+
try
{
PlexusContainer pluginContainer = getPluginContainer( mojoDescriptor.getPluginDescriptor() );
Modified: maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java?rev=290040&r1=290039&r2=290040&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java (original)
+++ maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java Sun Sep 18 18:29:18 2005
@@ -302,4 +302,10 @@
{
this.classRealm = classRealm;
}
+
+ public ClassRealm getClassRealm()
+ {
+ return classRealm;
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org