Bug 59961 - Provide an option to disable processing of Class-Path entry in a jar's manifest file
Summary: Provide an option to disable processing of Class-Path entry in a jar's manife...
Alias: None
Product: Tomcat 8
Classification: Unclassified
Component: Util (show other bugs)
Version: 8.5.x-trunk
Hardware: All All
: P2 enhancement (vote)
Target Milestone: ----
Assignee: Tomcat Developers Mailing List
Depends on:
Reported: 2016-08-09 07:25 UTC by saschakarcher
Modified: 2016-10-20 15:08 UTC (History)
0 users


Note You need to log in before you can comment on or make changes to this bug.
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.