Author: olamy Date: Tue Jul 31 07:02:21 2012 New Revision: 1367432 URL: http://svn.apache.org/viewvc?rev=1367432&view=rev Log: [MTOMCAT-169] Unable to Deploy WAR Defined via "webapps" Declaration Submitted by Josh Harness. Patch modified to preserve backward comp.
Modified: tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/config/AbstractWebapp.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/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/config/AbstractWebapp.java URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/config/AbstractWebapp.java?rev=1367432&r1=1367431&r2=1367432&view=diff ============================================================================== --- tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/config/AbstractWebapp.java (original) +++ tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/config/AbstractWebapp.java Tue Jul 31 07:02:21 2012 @@ -64,6 +64,8 @@ public class AbstractWebapp private File contextFile; + private boolean asWebapp = false; + public AbstractWebapp() { super(); @@ -163,4 +165,13 @@ public class AbstractWebapp return contextFile; } + public boolean isAsWebapp() + { + return asWebapp; + } + + public void setAsWebapp( boolean asWebapp ) + { + this.asWebapp = asWebapp; + } } \ No newline at end of file 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=1367432&r1=1367431&r2=1367432&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 Tue Jul 31 07:02:21 2012 @@ -1165,7 +1165,7 @@ public abstract class AbstractRunMojo * @return dependency tomcat contexts of warfiles in scope "tomcat" */ private Collection<Context> createDependencyContexts( Tomcat container ) - throws MojoExecutionException, MalformedURLException + throws MojoExecutionException, MalformedURLException, ServletException { getLog().info( "Deploying dependency wars" ); // Let's add other modules @@ -1180,7 +1180,7 @@ public abstract class AbstractRunMojo // provided scope, not is it optional if ( "war".equals( artifact.getType() ) && !artifact.isOptional() && filter.include( artifact ) ) { - addContextFromArtifact( container, contexts, artifact, "/" + artifact.getArtifactId(), null ); + addContextFromArtifact( container, contexts, artifact, "/" + artifact.getArtifactId(), null, false ); } } @@ -1192,15 +1192,15 @@ public abstract class AbstractRunMojo contextPath = "/" + contextPath; } addContextFromArtifact( container, contexts, getArtifact( additionalWebapp ), contextPath, - additionalWebapp.getContextFile() ); + additionalWebapp.getContextFile(), additionalWebapp.isAsWebapp() ); } return contexts; } private void addContextFromArtifact( Tomcat container, List<Context> contexts, Artifact artifact, - String contextPath, File contextXml ) - throws MojoExecutionException, MalformedURLException + String contextPath, File contextXml, boolean asWebApp ) + throws MojoExecutionException, MalformedURLException, ServletException { getLog().info( "Deploy warfile: " + String.valueOf( artifact.getFile() ) + " to contextPath: " + contextPath ); File webapps = new File( configurationDir, "webapps" ); @@ -1230,7 +1230,15 @@ public abstract class AbstractRunMojo } } WebappLoader webappLoader = new WebappLoader( Thread.currentThread().getContextClassLoader() ); - Context context = container.addContext( contextPath, artifactWarDir.getAbsolutePath() ); + Context context = null; + if ( asWebApp ) + { + context = container.addWebapp( contextPath, artifactWarDir.getAbsolutePath() ); + } + else + { + context = container.addContext( contextPath, artifactWarDir.getAbsolutePath() ); + } context.setLoader( webappLoader ); File contextFile = contextXml != null ? contextXml : getContextFile(); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org