Given no prior familiarity with a set of JAR files, how would one determine which of them should be included in the jarsToScan list? Given the performance impact (e.g. startup time), I'm interested in keeping the jarsToScan list as small as possible.
Whether or not a JAR has TLDs seems pretty straightforward to determine, but what about "pluggability" features that require scanning? In my research I haven't been able to come up with a way to identify classes that use these features, or even a concrete description of what those features are. I wrote a simple scanner class to identify methods/classes with Servlet 3.0+ annotations, but that doesn't produce a complete list of JARs that (evidently) need to exist in jarsToScan in order for the app I'm dealing with to function correctly. I must be missing something. I did look through the Tomcat source but I was in over my head pretty quickly. Is there perhaps a way to use the catalina classes to accomplish this? Or some other technique? Any assistance is appreciated. Thanks, Ty