Many Java developers follow documentation to include libraries, and when they run the application for the very first time, they still get really hard to troubleshoot ClassNotFoundError or NoSuchMethodError exceptions. These are symptoms of a dependency conflict that should be totally avoided if library developers follow best practices. At Google Cloud, we have 70+ Java client libraries, each with 20+ direct dependencies, and many more transitive dependencies! Keeping all the libraries dependencies in sync and up to date is a big challenge. Join this talk, to learn about how we manage 70 client libraries in a multi-repo setting, and also aligning dependency versions with best practices, and other techniques to eliminate dependency conflicts for our users.
Stephanie is a Java engineer in Developer Relations at Google Cloud Platform.