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: [email protected]
Reporter: [email protected]
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: [email protected]
For additional commands, e-mail: [email protected]