Most other issues running your webapp can traced down to classpath issues, such as library incompatibilities and classloader problems. Fix the common cases first and if you still don't know what the problem is, reduce the problem scope to a minimum number of dependencies and then enable libraries one by one. Nowadays typical Java webapps tend to use use tens of different libraries so this may often take some time but at least you'll learn something along the way and hopefully might even be able to eliminate a few dependencies that you didn't even know were included.
If you are using Gradle, then you are in luck. Dmitry Gusev (also author of eclipse-tapestry5-plugin) has put together a little Gradle plugin that automatically maintains the ".tomcatplugin" file that contains the classpath configuration for Sysdeo. Check out gradle-sysdeo-tomcat-plugin!