Quickly glancing at your class it looks ok. I'd be more inclined to think it's some kind of classpath problem (multiple versions of Tapestry, Trails servlet-api in you classpath perhaps?), but sorry I don't have any definite answer. Given that you can run the recip app ok, maybe try running your applications the same way (via mvn jetty:run for example).
Kalle