in tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java [573:627]
public void execute()
throws MojoExecutionException, MojoFailureException
{
if ( skip )
{
getLog().info( "skip execution" );
return;
}
// ensure project is a web application
if ( !isWar() && !addContextWarDependencies && getAdditionalWebapps().isEmpty() )
{
getLog().info( messagesProvider.getMessage( "AbstractRunMojo.nonWar" ) );
return;
}
ClassLoader originalClassLoader = null;
if ( useSeparateTomcatClassLoader )
{
originalClassLoader = Thread.currentThread().getContextClassLoader();
}
try
{
getLog().info( messagesProvider.getMessage( "AbstractRunMojo.runningWar", getWebappUrl() ) );
initConfiguration();
startContainer();
if ( !fork )
{
waitIndefinitely();
}
}
catch ( LifecycleException exception )
{
throw new MojoExecutionException( messagesProvider.getMessage( "AbstractRunMojo.cannotStart" ), exception );
}
catch ( IOException exception )
{
throw new MojoExecutionException(
messagesProvider.getMessage( "AbstractRunMojo.cannotCreateConfiguration" ), exception );
}
catch ( ServletException e )
{
throw new MojoExecutionException( e.getMessage(), e );
}
catch ( MavenFilteringException e )
{
throw new MojoExecutionException( "filtering issue: " + e.getMessage(), e );
}
finally
{
if ( useSeparateTomcatClassLoader )
{
Thread.currentThread().setContextClassLoader( originalClassLoader );
}
}
}