I've verified that this occurs (its easy enough with the Maven tomcat:run goal) but I'm at a loss as to why it fails to pick up changes.
I've verified that changes to static resources are visible.
This appears to be an issue with how Tomcat reports the date time modified of files in the context.
Doing some investigation ...
I added a tiny bit of logging to the ComponentTemplateSource service. What I've seen is that the URLs for resources are a bit odd.
Tapestry only normally allows resources with a "file:" prefix to be tracked. I need to do some research on what this "jndi:" prefix really means.
Things are looking good, I'm using ServletContext.getRealPath() to try and convert paths in the context into File instances, which should get around the jndi: stuff.
Looking good, at least for using Maven tomcat:run.