So I'm having a world of headaches with getting my Struts app running. Initially I had problems with common-digester.jar having been placed in $CATALINA_HOME/server/lib and $CATALINA_HOME/common/lib which kept tomcat 4.1.18 from starting. After I removed commons-digester.jar from common/lib tomcat stared fine. But now here's the strange part - the Struts user guide says to copy the commons-*.jar files into your apps WEB-INF/lib directory. Fine. But if I have commons-digester.jar in there, tomcat won't start. If I don't have it in there I get:
when tomcat tries to start my app and then I get subsequent Cannot find ActionMappings or ActionFormBeans Collections exceptions in my app because, I presume, the ActionServlet hasn't been properly intialized. HELP! Thanks!
One possible cause is that you have some jars -- e.g. struts.jar -- in a shared lib directory such as server/lib or common/lib. If so, this is a bad idea as you're setting yourself up for classloader nightmares. The problem is that classes in your web app can see classes in these shared directories, but this doesn't work not the other way around: a class loaded from server/lib or common/lib cannot instantiate any classes that are only available in your web application (i.e. WEB-INF/classes or WEB-INF/lib). - Peter