Scenario: You want to add a JAR to the common (or shared) classloader which does contain a manifest file refering to other JARs in it's class-path entry. These referenced other JARs are not required for the application and thus are not stored on the server. When tomcat is started method "processManifest" of class "org.apache.tomcat.util.scan.StandardJarScanner" tries to resolve that class-path entry and you end up with lots of errors in the log. Unfortunatelly you are not able to use the "jarsToSkip" and "<JarScanFilter>" config params since this JAR actually contains one or more TLDs which should be scanned. Suggested "Improvement": Provide a switch for not processing the class-path entry of manifest files. Default would be TRUE (i.e. class-path entry is respected).
This has been fixed in the following branches: - 9.0.x for 9.0.0.M11 onwards - 8.5.x for 8.5.6 onwards - 8.0.x for 8.0.38 onwards
A pointer to the docs for this: https://tomcat.apache.org/tomcat-8.0-doc/config/jar-scanner.html attribute *scanManifest*, defaults to true.