On 10.03.2021 14:44, Mark Thomas wrote:
> On 10/03/2021 13:19, Rony G. Flatscher (Apache) wrote:
>> The STL (standard tag library) jstl-1.2_1.jar is able to have its tags 
>> processed without requiring
>> the user to place its tld-files into the webapps WEB-INF directory. Rather 
>> jstl-1.2_1.jar stores the
>> tld files in its META-INF directory and yet they seem to be found by the JSP 
>> processor (not sure
>> whether this is the correct term).
>>
>> How can this be achieved for any taglib? What needs to be done to allow 
>> including the tld-files
>> within the taglib library such as to become able to remove the need to place 
>> the taglib library's
>> tld files into the webapps WEB-INF directory?
>
> <quote spec="JSP" section="7.3.1">
> When deployed inside a JAR file, the tag library descriptor files must be in 
> the META-INF
> directory, or a subdirectory of it.
> </quote>
>
> You also need to make sure that Tomcat isn't configured to skip your JAR file 
> when scanning for
> tag libraries (see CATALINA_BASE/conf/catalina.properties).

Thank you very much!

It turns out that I forgot to adjust the uri value in the JSP files to match 
the uri defined in the
tld files! :(

The reason why I thought that something was wrong with the jar file and the tld 
locations within
(despite having them in META-INF) was the following entry in the log file:

    ... cut ...
    10-Mar-2021 15:13:14.264 INFO [main] 
org.apache.catalina.startup.HostConfig.deployDirectory
    Deploying web application directory [D:\Apache Software Foundation\Tomcat 
9.0\*webapps\aa_rgf_test*]
    10-Mar-2021 15:13:16.362 INFO [main] 
org.apache.jasper.servlet.TldScanner.scanJars /At least one
    JAR was scanned for TLDs yet contained no TLDs/. Enable debug logging for 
this logger for a
    complete list of JARs that were scanned but no TLDs were found in them. 
Skipping unneeded JARs
    during scanning can improve startup time and JSP compilation time.
    10-Mar-2021 15:13:16.362 INFO [main] 
org.apache.catalina.startup.HostConfig.deployDirectory
    Deployment of web application directory [D:\Apache Software 
Foundation\Tomcat
    9.0\webapps\aa_rgf_test] has finished in [2,098] ms
    ... cut ...

So actually the log message means what it states: there was at least one jar 
that did not contain a
TLD file (I read it: no TLD files were found in the scanned jars)! :)

Very sorry for the noise, typical user error. :(

Yet, now it is possible to forgo the current need to copy the tld files to the 
WEB-INF directory,
which is really great!

---rony


Reply via email to