0Pricing
Groovy & Gradle: JVM Automation and Build Engineering · Урок

Каталоги версий зависимостей и платформы

Централизованно задавайте и контролируйте версии зависимостей в большой многомодульной сборке с помощью каталогов версий и платформ Gradle (BOM), обеспечивая единообразие и управляемость.

«Каталоги версий зависимостей и платформы» — бесплатный урок Groovy & Gradle: JVM Automation and Build Engineering на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Groovy & Gradle: JVM Automation and Build Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Groovy & Gradle: JVM Automation and Build Engineering содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

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

Часто задаваемые вопросы

Урок «Каталоги версий зависимостей и платформы» бесплатный?

Да — полный текст урока «Каталоги версий зависимостей и платформы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Groovy & Gradle: JVM Automation and Build Engineering, подпишись на CoddyKit PRO. Курс Groovy & Gradle: JVM Automation and Build Engineering содержит 4 уроков всего.

Чему я научусь в уроке «Каталоги версий зависимостей и платформы»?

Централизованно задавайте и контролируйте версии зависимостей в большой многомодульной сборке с помощью каталогов версий и платформ Gradle (BOM), обеспечивая единообразие и управляемость. Ты практикуешь Groovy & Gradle: JVM Automation and Build Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Groovy & Gradle: JVM Automation and Build Engineering?

Предыдущий опыт не требуется. Groovy & Gradle: JVM Automation and Build Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Каталоги версий зависимостей и платформы»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Groovy & Gradle: JVM Automation and Build Engineering?

Да. Каждый урок Groovy & Gradle: JVM Automation and Build Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Сканирование сборок Gradle и аналитика
  2. Безопасность и управление учётными данными
  3. Плагины соглашений и логика сборки
  4. Каталоги версий зависимостей и платформы
← Назад к Groovy & Gradle: JVM Automation and Build Engineering