Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


If you know your way around Eclipse and Tomcat, there's no need to follow the steps literally but most of it applies regardless of Eclipse or Tomcat versions or even if you were using something else than Tapestry 5. I've been developing webapps this way for years, since the days of Eclipse 3.0 and Tomcat 5.0 (with MyFaces...) circa 2004. Tomcat 5.x and 6.x would work the same with no or little modifications, but a major benefit of Tomcat 7.x is that context reloading actually works - before 7.x it never really worked for even a bit more complex web applications. With context reloading, you can for example edit the web.xml and expect your application to be reloaded automatically. You can also run multiple web applications at the same time while you are still developing them. That also allows easily testing the more interesting aspects of web application deployments, such as session serialization, clustering and high availability, all from your development machine!


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.

titleUsing Gradle?

 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!