Update: I have a working and a non-working webapp. I added some debug-info to the TldScanner and related classes, and it seems that org.apache.jasper.servlet.JspServlet.init(ServletConfig config) (which creates the EmbeddedSerlvetOptions which creates the TldScanner) is called with
config.getServletContext().getAttribute(Constants.JSP_TLD_URI_TO_LOCATION_MAP) null in the case of the non-working web-app.
I haven't find out why, though. The servlet in the working app is initialized after all others are initialized, so it looks like some problem with starting/initialization order?
[Message sent by forum member 'johanvos' (johanvos)]
http://forums.java.net/jive/thread.jspa?messageID=359390