We have a core library that we include as a JAR with all of our web applications to maximize code reuse. Now we'd like to include some functionality through this core library via a 3rd party library (iText).
Adding the iText JAR to the core library doesn't work because nested JARs aren't found by the classloader. We don't want to add the iText JAR to each Web Application because the web applications aren't using iText, They are using a library that is using iText. Semantics? Perhaps, but adding third party JARs to a Web App so a library it uses can access the classes in the JAR seems messy.
Am I missing a simple practice that addresses this or are jar-merging and custom class loaders the best approaches?