I have a WAR file which runs quite happily on the Sun JWSDP packaged version of Tomcat 4, but will not run on the tomcat4 package on Debian.
The WAR file has two servlets and some JSPs, an HTML page and all the necessary web.xml, dtds and jars properly packaged in their correct directories. It had one error which was that it had the old location in web.xml for the web-app_2_3.dtd, but I have fixed that. The WAR file is places in /var/lib/tomcat4/webapps, and during startup tomcat finds the webapp, and says it is initialising it deploying it as expected. Then is complains about an internal error, file javax/servlet/resources/web-app_2_3.dtd not found. Now this should be in servlet.jar, which actually is in two places, firstly in common/lib/servlet.jar and also in WEB-INF/lib/servlet.jar, but it would appear not to be finding either. Now I suppose it it possible that it is actually complaining about having two of these, but that is certainly not what it is saying. Then the servlets are initialised, I have some debug messages that come from the init methods, and they are in the log. Then I come to try to use the servlets, and all I get is resource not found 404 errors. Anyone got any ideas as to what might be the problem? David