Groovy & Gradle: JVM Automation and Build Engineering · Lezione

Cataloghi delle versioni delle dipendenze e piattaforme

Centralizzi e applichi le versioni delle dipendenze in una grande build multi-modulo usando cataloghi delle versioni e piattaforme Gradle (BOM), per garantire coerenza e controllo.

Lezione 4 di 413 passaggi

Cataloghi delle versioni delle dipendenze e piattaforme è una lezione Groovy & Gradle: JVM Automation and Build Engineering gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Groovy & Gradle: JVM Automation and Build Engineering, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Groovy & Gradle: JVM Automation and Build Engineering include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

The Version Drift Problem

In enterprise builds with dozens of modules, the same library can end up declared with different versions, causing subtle runtime conflicts. Centralizing versions prevents this drift.

What is a Version Catalog?

A version catalog is a single typesafe list of dependencies and versions, defined in gradle/libs.versions.toml and shared across all modules.

The TOML Format

The catalog has sections for versions, libraries, and plugins.

[versions]
guava = "33.0.0-jre"

[libraries]
guava = { module = "com.google.guava:guava", version.ref = "guava" }

Using Catalog Entries

In a build script you reference the typesafe accessor, getting IDE completion and a compile error if the name is wrong.

dependencies {
    implementation(libs.guava)
}

Bundles

Group related libraries into a bundle so modules add them all at once.

[bundles]
networking = ["retrofit", "okhttp"]

Plugin Versions in the Catalog

Catalogs can also pin plugin versions, keeping the whole toolchain consistent.

[plugins]
spring = { id = "org.springframework.boot", version = "3.2.0" }

What is a Platform?

A platform (Maven BOM) constrains versions of transitive dependencies without adding them. It governs what version wins during resolution.

Applying a Platform

Import a BOM with the platform() notation; aligned dependencies inherit its managed versions.

dependencies {
    implementation(platform("org.springframework.boot:spring-boot-dependencies:3.2.0"))
    implementation("org.springframework:spring-web")
}

Publishing Your Own Platform

Large orgs publish an internal platform module so every team aligns on approved versions automatically.

plugins { id("java-platform") }
dependencies {
    constraints {
        api("com.acme:logging:2.1.0")
    }
}

Catalog vs Platform

They complement each other:

  • Catalog: what you type when declaring dependencies
  • Platform: which transitive versions are allowed at resolution

Governance Benefits

Together they give central teams control: upgrade a library once, and every module follows, with reviewable changes in version control.

Quick Check

Test your understanding of catalogs and platforms.

Recap

You learned centralized version management:

  • Catalog in libs.versions.toml gives typesafe accessors
  • Bundles group related libraries
  • Platforms (BOMs) constrain transitive versions
  • Together they enforce consistency across large builds
Gratis per iniziare

Impara Groovy con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
12
Lezioni
48

Domande Frequenti

La lezione «Cataloghi delle versioni delle dipendenze e piattaforme» è gratuita?

Sì — il testo completo di «Cataloghi delle versioni delle dipendenze e piattaforme» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Groovy & Gradle: JVM Automation and Build Engineering, passa a CoddyKit PRO. Il corso Groovy & Gradle: JVM Automation and Build Engineering include 4 lezioni in totale.

Cosa imparerò in «Cataloghi delle versioni delle dipendenze e piattaforme»?

Centralizzi e applichi le versioni delle dipendenze in una grande build multi-modulo usando cataloghi delle versioni e piattaforme Gradle (BOM), per garantire coerenza e controllo. Eserciti Groovy & Gradle: JVM Automation and Build Engineering con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Groovy & Gradle: JVM Automation and Build Engineering?

Non è richiesta alcuna esperienza precedente. Groovy & Gradle: JVM Automation and Build Engineering su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Cataloghi delle versioni delle dipendenze e piattaforme»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Groovy & Gradle: JVM Automation and Build Engineering?

Sì. Ogni lezione Groovy & Gradle: JVM Automation and Build Engineering include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Build Scan e analisi Gradle
  2. Sicurezza e gestione delle credenziali
  3. Plugin di convenzione e logica di build
  4. Cataloghi delle versioni delle dipendenze e piattaforme
← Torna a Groovy & Gradle: JVM Automation and Build Engineering