Bug 59961

Summary: Provide an option to disable processing of Class-Path entry in a jar's manifest file
Product: Tomcat 8 Reporter: saschakarcher
Component: UtilAssignee: Tomcat Developers Mailing List <dev>
Severity: enhancement    
Priority: P2    
Version: 8.5.x-trunk   
Target Milestone: ----   
Hardware: All   
OS: All   

Description saschakarcher 2016-08-09 07:25:13 UTC

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).
Comment 1 Mark Thomas 2016-09-02 19:24:11 UTC
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
Comment 2 Phil Varner 2016-10-20 15:08:34 UTC
A pointer to the docs for this: https://tomcat.apache.org/tomcat-8.0-doc/config/jar-scanner.html attribute *scanManifest*, defaults to true.