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: [email protected]
For additional commands, e-mail: [email protected]