The TldConfig class (org.apache.catalina.startup) is asking ClassLoader and all parent ClassLoader in order to get the URLs and then assume that the URLs are using "file" protocol. But when Tomcat is embedded, sometimes the URL are not always using "file" protocol and then new File() will fail. The given patch is to skip the URLs that are not using file protocol (that avoids ugly NPE in the "new File(urls[i].toURI());" call
Created attachment 21499 [details] Proposed patch to skip invalid URL for the algorithm
This has been fixed in trunk and 6.0.x. It will be in 6.0.17 onwards. Many thanks for the patch.