Author: olamy Date: Thu Apr 5 23:23:55 2012 New Revision: 1310131 URL: http://svn.apache.org/viewvc?rev=1310131&view=rev Log: [MTOMCAT-133] Servlet mapping to "/" does not work apply same fix for the exec war feature.
Modified: tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java Modified: tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java?rev=1310131&r1=1310130&r2=1310131&view=diff ============================================================================== --- tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java (original) +++ tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java Thu Apr 5 23:23:55 2012 @@ -306,6 +306,7 @@ public abstract class AbstractExecWarMoj os.putArchiveEntry( new JarArchiveEntry( StringUtils.removeStart( path, "/" ) + ".war" ) ); IOUtils.copy( new FileInputStream( projectArtifact.getFile() ), os ); os.closeArchiveEntry(); + properties.put( Tomcat7Runner.WARS_KEY, StringUtils.removeStart( path, "/" ) + ".war|" + path ); } @@ -364,6 +365,11 @@ public abstract class AbstractExecWarMoj properties.put( Tomcat7Runner.USE_SERVER_XML_KEY, Boolean.FALSE.toString() ); } + os.putArchiveEntry( new JarArchiveEntry( "conf/web.xml" ) ); + IOUtils.copy( getClass().getResourceAsStream( "/conf/web.xml" ), os ); + os.closeArchiveEntry(); + + properties.store( tmpPropertiesFileOutputStream, "created by Apache Tomcat Maven plugin" ); tmpPropertiesFileOutputStream.flush(); Modified: tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java?rev=1310131&r1=1310130&r2=1310131&view=diff ============================================================================== --- tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java (original) +++ tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java Thu Apr 5 23:23:55 2012 @@ -19,8 +19,11 @@ package org.apache.tomcat.maven.runner; */ import org.apache.catalina.Context; +import org.apache.catalina.Host; import org.apache.catalina.connector.Connector; +import org.apache.catalina.core.StandardContext; import org.apache.catalina.startup.Catalina; +import org.apache.catalina.startup.ContextConfig; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.valves.AccessLogValve; import org.apache.tomcat.util.http.fileupload.FileUtils; @@ -163,7 +166,33 @@ public class Tomcat7Runner } else { - tomcat = new Tomcat(); + tomcat = new Tomcat() + { + public Context addWebapp( Host host, String url, String name, String path ) + { + + Context ctx = new StandardContext(); + ctx.setName( name ); + ctx.setPath( url ); + ctx.setDocBase( path ); + + ContextConfig ctxCfg = new ContextConfig(); + ctx.addLifecycleListener( ctxCfg ); + + ctxCfg.setDefaultWebXml( new File( extractDirectory, "conf/web.xml" ).getAbsolutePath() ); + + if ( host == null ) + { + getHost().addChild( ctx ); + } + else + { + host.addChild( ctx ); + } + + return ctx; + } + }; if ( this.enableNaming() ) { @@ -265,15 +294,18 @@ public class Tomcat7Runner for ( Map.Entry<String, String> entry : this.webappWarPerContext.entrySet() ) { String baseDir = null; + Context context = null; if ( entry.getKey().equals( "/" ) ) { baseDir = new File( extractDirectory, "webapps/ROOT.war" ).getAbsolutePath(); + context = tomcat.addWebapp( "", baseDir ); } else { baseDir = new File( extractDirectory, "webapps/" + entry.getValue() ).getAbsolutePath(); + context = tomcat.addWebapp( entry.getKey(), baseDir ); } - Context context = tomcat.addWebapp( entry.getKey(), baseDir ); + URL contextFileUrl = getContextXml( baseDir ); if ( contextFileUrl != null ) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org