1. Run the Tapestry quickstart archetype (v 22.214.171.124) in NetBeans
2. Run it in the latest version of Tomcat (6.0.18). (note that NetBeans does the equivalent of running the exploded WAR in the /target dir directly within Tomcat)
3. View the site in a browser (to start Tapestry)
4. Undeploy the webapp in the Server window
5. Rebuild the webapp (mvn clean package) and try to deploy it. - the clean will fail with an error like:
Failed to delete directory: C:\dev\tapestry\webAppB\target. Reason: Unable to delete file C:\dev\tapestry\webAppB\target\webAppB\WEB-INF\lib\antlr-runtime-3.1.1.jar
In short, this flaw adds significant time to each iteration during development. And, if a developer doesn't understand that Tapestry webapps don't undeploy properly, they can easily waste time with bugs that arise because old code is still running in tomcat.
The workaround is to shutdown tomcat before rebuilding the webapp (mvn clean) each time.