https://bz.apache.org/bugzilla/show_bug.cgi?id=58076

            Bug ID: 58076
           Summary: Embedded tomcat would not find tlds on open dependency
                    artifacts
           Product: Tomcat 8
           Version: 8.0.23
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: major
          Priority: P2
         Component: Jasper
          Assignee: dev@tomcat.apache.org
          Reporter: hm1raf...@gmail.com

When the embedded container scans the classpath for the TLDs using the
StandardJarScanner (line 199) it verifies if the Classpath entry is a jar or if
should scanAllFiles (by default its false). On eclipse, when you have a open
artifact, the classloader (WebAppClassLoader) will load its url as
file://path/to/workspace/project/classes, the scanner will ignore that entry
and that will generate error when accessing jsps that need the tld.

If you set the scanAllFiles to true, the scan finds the TLD, and creates the
TldResourcePath without a entry name. When jasper tries to compile the JSP that
uses a tag defined in the TLD, it parses the taglib it creates a
TagLibraryInfoImpl. When JspUtil.getInputStream tries to load the file to
determine the enconding it throws FileNotFound cause it tries to search only
with relative path (Ex: /META-INF/tld.tld) instead of using the full path
file://path/to/workspace/project/classes/META-INF/tld.tld

Shouldnt the absFileName be the complete path instead of the relative?

I dont know if is a bug or a feature

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to