Author: olamy
Date: Fri Apr 13 10:04:13 2012
New Revision: 1325700

URL: http://svn.apache.org/viewvc?rev=1325700&view=rev
Log:
[MTOMCAT-140] Allow specifying the classloader to use for loading webapps.
Submitted by Leigh Anderson.

Modified:
    
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunMojo.java
    
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java

Modified: 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunMojo.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunMojo.java?rev=1325700&r1=1325699&r2=1325700&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunMojo.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunMojo.java
 Fri Apr 13 10:04:13 2012
@@ -360,6 +360,14 @@ public abstract class AbstractRunMojo
      */
     private String staticContextDocbase;
 
+    /**
+     * Class loader class to set.
+     *
+     * @parameter
+     * @since 2.0
+     */
+    protected String classLoaderClass;
+
     // ----------------------------------------------------------------------
     // Mojo Implementation
     // ----------------------------------------------------------------------
@@ -450,7 +458,14 @@ public abstract class AbstractRunMojo
             context.setParentClassLoader( getTomcatClassLoader() );
         }
 
-        context.setLoader( createWebappLoader() );
+        final WebappLoader webappLoader = createWebappLoader();
+
+        if ( classLoaderClass != null )
+        {
+            webappLoader.setLoaderClass( classLoaderClass );
+        }
+
+        context.setLoader( webappLoader );
         File contextFile = getContextFile();
         if ( contextFile != null )
         {

Modified: 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java?rev=1325700&r1=1325699&r2=1325700&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java
 Fri Apr 13 10:04:13 2012
@@ -354,6 +354,14 @@ public abstract class AbstractRunMojo
      */
     private String staticContextDocbase;
 
+    /**
+     * Class loader class to set.
+     *
+     * @parameter
+     * @since 2.0
+     */
+    protected String classLoaderClass;
+
     // ----------------------------------------------------------------------
     // Fields
     // ----------------------------------------------------------------------
@@ -363,7 +371,6 @@ public abstract class AbstractRunMojo
      */
     private ClassRealm tomcatRealm;
 
-
     // ----------------------------------------------------------------------
     // Mojo Implementation
     // ----------------------------------------------------------------------
@@ -462,13 +469,21 @@ public abstract class AbstractRunMojo
             context.setParentClassLoader( getTomcatClassLoader() );
         }
 
-        context.setLoader( createWebappLoader() );
+        final WebappLoader loader = createWebappLoader();
+
+        context.setLoader( loader );
+
         File contextFile = getContextFile();
         if ( contextFile != null )
         {
             context.setConfigFile( getContextFile().toURI().toURL() );
         }
 
+        if ( classLoaderClass != null )
+        {
+            loader.setLoaderClass( classLoaderClass );
+        }
+
         return context;
 
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to