MyFaces Tag Library Descriptors are not found by the Jasper Compiler
--------------------------------------------------------------------

                 Key: GERONIMO-2955
                 URL: https://issues.apache.org/jira/browse/GERONIMO-2955
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: web
    Affects Versions: 2.0-M3
            Reporter: Paul McMahan
         Assigned To: Paul McMahan
            Priority: Critical


Jasper's technique for finding Tag Library Descriptors (TLDs) does not work 
well with Geronimo's MultiParentClassLoader.   The Jasper compiler tries to 
find TLDs in jar files by getting the list of jars from the webapp's 
classloader and scanning them for META-INF/**.tld.  Then it repeats this 
process up the classloader hierarchy (at least what it *thinks* is the 
classloader hierarchy) by calling ClassLoader.getParent().   That works OK when 
then TLDs are in the webapp's WEB-INF/lib or in the JRE's system or application 
classloader.  But this technique doesn't work in Geronimo because there are 
sometimes jars in the classloader hierarchy that are only accessible by using 
Geronimo's special MultiParentClassLoader.getParents() method.

The Jasper code referred to above can be viewed in the scanJars() method of 
this class:
http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_10/java/org/apache/jasper/compiler/TldLocationsCache.java

Because of this limitation the Jasper compiler does not find the TLDs in 
myfaces-impl-2.0-SNAPSHOT.jar because it doesn't find the classloader 
containing that jar when it looks up the direct lineage of classloaders.  This 
causes the following error message when a JSP refers to the JSF taglibs:
{quote}
javax.servlet.ServletException: The absolute uri: http://java.sun.com/jsf/html 
cannot be resolved in either web.xml or the jar files deployed with this 
application
{quote}

The MyFaces TLDs need to be made accessible to Jasper so that webapps can 
reference the JSF taglibs in their JSPs without copying the TLDs into their 
WARs.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to