I would confirm this behavior. Is this a bug? Shouldn't it read the
configurations from inside the executions? Otherwise, you can't specify a
different config for each execution. The example below would conditionally
deploy to either one or two tomcat configurations -- but without the
configuration being picked up as part of the execution, it doesn't work. Or,
is it a problem with the plugin itself?
<profiles>
<profile>
<id>tomcat_server</id>
<activation><property><name>!tomcat2_url</name></property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<executions>
<execution>
<configuration>
<server>tc_${appName}_${tier}_${env}</server>
<url>${tomcat_url}</url>
<path>${tomcat_deploy_path}</path>
<update>true</update>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>tomcat2_server</id>
<activation><property><name>tomcat2_url</name></property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<executions>
<execution>
<id>first</id>
<configuration>
<server>tc_${appName}_${tier}_${env}</server>
<url>${tomcat_url}</url>
<path>${tomcat_deploy_path}</path>
<update>true</update>
</configuration>
</execution>
<execution>
<id>second</id>
<configuration>
<server>tc_${appName}_${tier}_${env}</server>
<url>${tomcat2_url}</url>
<path>${tomcat_deploy_path}</path>
<update>true</update>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
-- cgp