A web application's dependency on a library can be fulfilled by placing that library's JAR file in the web application's
WEB-INF/lib folder. However, as more of your web applications deployed into a single container depend on a given library, you end up with multiple copies of the same file, littered across your contexts. This not only takes up space and feels cluttered, but also makes upgrading to a new version of this library more work than it needs to be.
A better option would be to register this JAR file as a shared library and then have each of your web applications use that shared library.
Servlet containers usually provide a shared library mechanism, where you can place libraries that must be available across all ...