gRPC and Java Diamond Dependency Conflicts
summary
Explains how increasing framework integration creates complex Java dependency graphs that lead to diamond dependency conflicts causing runtime NoSuchMethodError and NoClassDefFoundError for gRPC, GAX, and OpenCensus. Describes the root causes (the anatomy) of these gRPC-related library conflicts and presents Google’s best practices for Java libraries plus how to use Linkage Checker to detect such conflicts in Java projects.
AI-written summary · about
chapters (12)
- 0:00Start
- 0:52Speaker: Tomo Suzuki
- 3:11Example 2: NoClassDeffoundError
- 3:41Diagnosis for NoSuch MethodError
- 5:10Dependency Graph
- 6:51Diamond Dependency Conflict
- 8:01Maven Dependency Mediation
- 8:49Gradle Dependency Mediation
- 9:17Question: how to control non-direct rative dependencies?
- 10:15Solution: Bill-of-Materials (BOM) to control transitive dependency
- 11:34Google Cloud Platform Libraries BOM
- 12:59Using GCP Libraries BOM in Maven
related talks
33mTaming Java Dependencies in 70+ GCP Client Libraries
41mGraalVM, CRaC, Leyden and friends - in search of TRULY cloud-native Java
56mMigrating Beyond Java 8
24mgRPC Meets Jakarta EE - Ron Sigal, Red Hat
47mJDK 9, 10, and 11: Pitfalls for the Unwary
20mJava's Hidden Gems: Tools and Libraries
04mHow it felt like
49mSpring, Jakarta EE, CDI and Other Pathologies
