he Tomcat webapp tag name to use
*/
protected String getTag()
{
return tag;
}
/**
* Deploys the WAR to Tomcat.
*
* @throws MojoExecutionException if there was a problem locating the WAR
* @throws TomcatManagerException if the Tomcat manager request fails
* @throws IOException if an i/o error occurs
*/
protected void deployWar()
throws MojoExecutionException, TomcatManagerException, IOException
{
validateWarFile();
getLog().info( getMessage( "AbstractDeployMojo.deployingWar",
getDeployedURL() ) );
URL warURL = getWarFile().toURL();
log( getManager().deploy( getPath(), warURL, isUpdate(), getTag() ) );
}
/**
* Deploys the context XML file to Tomcat.
* @throws MojoExecutionException if there was a problem locating the
context XML file
* @throws TomcatManagerException if the Tomcat manager request fails
* @throws IOException if an i/o error occurs
*/
protected void deployContext()
throws MojoExecutionException, TomcatManagerException, IOException
{
validateContextFile();
getLog().info( getMessage( "AbstractDeployMojo.deployingContext",
getDeployedURL() ) );
URL contextURL = getContextFile().toURL();
log( getManager().deployContext( getPath(), contextURL, isUpdate(),
getTag() ) );
}
/**
* Deploys the WAR and context XML file to Tomcat.
* @throws MojoExecutionException if there was a problem locating either
the WAR or the context XML file
* @throws TomcatManagerException if the Tomcat manager request fails
* @throws IOException if an i/o error occurs
*/
protected void deployWarAndContext()
throws MojoExecutionException, TomcatManagerException, IOException
{
validateWarFile();
validateContextFile();
getLog().info( getMessage( "AbstractDeployMojo.deployingWarContext",
getDeployedURL() ) );
URL warURL = getWarFile().toURL();
URL contextURL = getContextFile().toURL();
log( getManager().deployContext( getPath(), contextURL, warURL,
isUpdate(), getTag() ) );
}
}
//and now concrete class which overrides Base
package org.codehaus.mojo.tomcat;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.io.File;
import org.apache.maven.plugin.MojoExecutionException;
/**
* Deploy an exploded WAR to Tomcat.
*
* @goal exploded
* @author Mark Hobson
* @version $Id: ExplodedMojo.java 8855 2009-01-21 11:23:04Z olamy $
* @todo depend on war:exploded when MNG-1649 resolved
*/
public class ExplodedMojo
extends AbstractDeployMojo
{
// --
// Mojo Parameters
// --
/**
* The path of the exploded WAR directory to deploy.
*
* @parameter expression =
"${project.build.directory}/${project.build.finalName}"
* @required
*/
private File warDirectory; //where is private File warFile??
// --
// Protected Methods
// --
/**
* {...@inheritdoc}
*/
@Override
protected File getWarFile()
{
return warDirectory; //why not warFile???
}
/**
* {...@inheritdoc}
*/
@Override
protected void validateWarFile()
throws MojoExecutionException
{
//well and good for check on warDirectory
//where is the check on the warFile???
if ( !warDirectory.exists() || !warDirectory.isDirectory() )
{
throw new MojoExecutionException( getMessage(
"ExplodedMojo.missingWar", warDirectory.getPath() ) );
}
}
}
it appears you found a BUG!
good catch!
Martin
______________________
Please do not alter/modify this transmission. Thank You
> Date: Thu, 17 Dec 2009 10:23:49 -0500
> Subject: Tomcat plugin doesn't seem to be using build final na