I do not know enough about maven+tomcat and related technologies to know if the following is bug, or if I just missed some setting somewhere.
We have in our project dependencies, that inject some byte-code into compiled classes in the process-classes maven phase. I was trying to use maven tomcat7 plugin in version 2.0 to see how is our application working. When executing mvn tomcat7:run i run into problems because the maven phase process-classes was not executed before deploying on tomcat.
After some research we found that there is plugin.xml file in the tomcat7 plugin jar that maven downloads (org.apache.tomcat.maven.tomcat7-maven-plugin) (META_INF/maven/plugin.xml). In this file i found mojo with <goal>run</goal> and in this mojo there i found <executePhase>compile</executePhase>. I think that the execution phase should be set to process-classes phase and not compile phase.
My problems disappeared When I manually edited the xml and tried the mvn tomcat7:run afterwards. This makes me think that the phase is wrongly set in the jar.
I checked the sources and to me it seams that the phase should be set here:
The execution phase is set there to be compile (curretnly line 60)