I have the same problem as Tomcat in Eclipse: It runs but time out during startup anyway, as long as I start running an application associated with my Tomcat 5.5 server before the server it started.
But if I run the server by itself from within Eclipse, Eclipse recognizes the startup and doesn't time out. I can then run my associated application from within Eclipse as well, and it starts up normally on the already-started server.
It's a minor inconvenience, but does anyone know what would cause the server startup to be unrecognized when I start it via choosing to run the application, but recognized when I start the server alone?