Taming dependencies conflicts for 70 Google Cloud Java client libraries

Track: Practices and Other Tech

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.

Ray Tsang

Ray is currently a Developer Advocate at Google focused on Google Cloud Platform and Java developer experience. Follow Ray on Twitter @saturnism (https://twitter.com/saturnism)

Stephanie Wang

Stephanie is a Java engineer in Developer Relations at Google Cloud Platform.

Web: http://stephaniewang526.github.io/