quality@glassfish.java.net

Re: PWC1420: Error invoking ServletContainerInitializer org.apache.jasper.runtime.TldScanner

From: Jan Luehe <Jan.Luehe_at_Sun.COM>
Date: Wed, 30 Sep 2009 20:27:22 -0700

On 09/30/09 20:13, Cay Horstmann wrote:
> Jan Luehe wrote:
>> On 09/30/09 18:06, Cay Horstmann wrote:
>>> I am getting this error when trying to deploy an app to Glassfish.
>>> This is an experimental app and it is entirely possible that
>>> something is wrong in it somewhere. There is some information about
>>> this message at
>>> http://forums.java.net/jive/thread.jspa?messageID=359309. The logs
>>> contain nothing but the stacktrace, and that as a warning.
>>>
>>> The message, as it is, is totally unacceptable in a production
>>> quality app server. That TldScanner simply must reveal what it was
>>> trying to scan and why it was unhappy.
>>>
>>> This may be in the process of being implemented--see
>>> https://glassfish.dev.java.net/issues/show_bug.cgi?id=9103. But how
>>> do I tell whether I have "the latest jsp-impl.jar (2.1.3-b13)"?
>>
>> Which promoted build of GlassFish are you using?
>> jsp-impl.jar has moved on to 2.1.3-b17 since the issue you are
>> referencing was filed and fixed.
>>
>> Please use the latest promoted build (b65).
>
> Unfortunately, that is the version that I am using. So, that would
> suggest that not all bugs related to TldScanner have been addressed.
> The app that I am testing is in the middle of a change-over to JSF 2.0
> and the JEE 6 packaging, so it is really hard for me to figure out
> where to start debugging, or to pare it down to something simple. (It
> worked fine with an older GFv3 a couple of weeks ago.)
>
> This app uses JSF 2.0 (with facelets), stateful session beans, JPA, a
> couple of servlets for file upload and serving images, and a couple of
> JSPs with a <jnlp> tag, but no JSTL. (The forum discussion seemed to
> suggest that JSTL was involved somehow.)
>
> Could you give a description of what this TldScanner is attempting to
> do? Is there a way of turning it off?

TldScanner is an implementation of javax.servlet.ServletContainerInitializer
provided by the GlassFish JSP container.

javax.servlet.ServletContainerInitializer is a new Servlet 3.0 feature.

TldScanner is notified of a webapp's deployment and passed the
webapp's ServletContext to its onStartup method. Based on the
ServletContext, it searches for any Tag Library Descriptor (TLD)
resources, scan them for listener declarations, and registers the
declared listeners programmatically with the ServletContext.

Can you include the stacktrace?

Kin-man (cc'ed) is going to help you debug this further, and will make any
improvements to the error reporting.

Thanks,

Jan

>
> Thanks,
>
> Cay
>
>