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

Dependency Management for Java - Portland - 202...

Avatar for sullis sullis
November 04, 2025

Dependency Management for Java - Portland - 2025-11-04

Dependency Management for Java applications
Portland Java User Group
2025-11-04

#gradle
#maven
#openrewrite

Avatar for sullis

sullis

November 04, 2025
Tweet

More Decks by sullis

Other Decks in Programming

Transcript

  1. 📍 hundreds of libraries on the classpath 📍 open source

    libraries + internal libraries 📍 Java, Kotlin, Scala Modern Java applications
  2. 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”
  3. Gradle blog November 2019 “The larger the project and its

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

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

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

    March 2024 https://jakewharton.com/nonsensical-maven-is-still-a-gradle-problem/
  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.”