Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dependency management for Java applications 202...

Avatar for sullis sullis
September 11, 2025

Dependency management for Java applications 2025-09-11

Community Over Code 2025
Minneapolis Minnesota
September 11 2025

Avatar for sullis

sullis

September 11, 2025
Tweet

More Decks by sullis

Other Decks in Programming

Transcript

  1. 2017 US House committee US Rep Greg Walden “the Apache

    Struts software which contained the vulnerability that led to this breach was running on the Equifax system”
  2. Gradle blog November 2019 “The larger the project and its

    dependency graph, the harder it is to maintain”
  3. “If you are lucky, you would get a compile time

    error” Gradle blog November 2019
  4. “it is common to only see problems occurring when executing

    tests or even at production runtime” Gradle blog November 2019
  5. “Maven’s dependency resolution strategy is objectively bonkers” Jake Wharton -

    March 2024 https://jakewharton.com/nonsensical-maven-is-still-a-gradle-problem/
  6. 📍 hundreds of libraries on the runtime classpath 📍 open

    source libraries + internal libraries 📍 Java, Kotlin, Scala Modern Java applications
  7. Google JLBP “Google Best Practices for Java Libraries are rules

    that minimize problems for consumers of interconnected Java libraries“ jlbp.dev
  8. JLBP-1 Minimize Dependency Scope “When you do add a dependency,

    keep it scoped as narrowly as possible”
  9. JLBP-11 “Release no later than 6 weeks after any of

    your dependencies releases a higher version”
  10. JLBP-11 “Staying up to date is also important to ensure

    that security fixes are rolled out promptly”
  11. JLBP-16 “The version of each dependency added to the classpath

    should the highest version in the dependency tree”
  12. “At the end of the sunset, all JCenter requests will

    automatically be redirected to Maven Central and served from there.”