Java: Настройка окружения

Теория: Установка зависимостей

Управление зависимостями одна из базовых задач Gradle. Он сам умеет скачивать нужные jar с Maven Central и подключать их к проекту или добавлять в jar. Все, что для этого нужно – указать название библиотеки в файле build.gradle.kts. Делается это в несколько этапов.

Для начала нужно узнать название библиотеки и ее актуальную версию. Часто эта информация есть прямо в README.md проекта на Github. Например, у библиотеки Apache Commons Lang:

You can download source and binaries from our download page. Alternatively you can pull it from the central Maven repositories: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency>

Здесь прямо указан блок кода, который надо вставить в сборщик. Проблема только в том, что это Maven, а не Gradle. Чтобы получить правильную конфигурацию для Gradle, перейдем на страницу проекта в Maven Central. Дальше нужно кликнуть на конкретной версии. Если вы не знаете какая версия вам нужна, выбирайте последнюю доступную, она всегда сверху списка. На странице версии есть меню, в котором можно выбрать систему сборки. Если кликнуть на Gradle (Kotlin), то в окошке ниже появится нужная нам строчка:

implementation("org.apache.commons:commons-lang3:3.13.0")

Теперь перенесем ее в конфигурацию Gradle:

dependencies {
    // Возможно тут уже что-то было добавлено
    implementation("org.apache.commons:commons-lang3:3.13.0")
}

Дальше, во время запуска на выполнение, Gradle сам скачает нужную зависимость и подключит ее. Все, что останется сделать вам – импортировать нужные классы.

Обновление зависимостей

Библиотеки постоянно обновляются. В них добавляются новые возможности, исправляются старые баги, улучшается интерфейс. Например, каждая версия Gradle сопровождается описанием изменений и даже ссылками на коммиты, в которых были сделаны правки.

Gradle не умеет обновлять зависимости из коробки, но его можно расширить плагинами, которые добавят соответствующие задачи. В сети довольно много подобных плагинов, некоторые из них только проверяют наличие новых версий, другие умеют обновлять их самостоятельно.

На текущий момент, самый удобный в работе Gradle Versions Plugin

./gradlew dependencyUpdates

# Пример вывода

> Task :dependencyUpdates

------------------------------------------------------------
: Project Dependency Updates (report to plain text file)
------------------------------------------------------------

The following dependencies are using the latest milestone version:
 - com.github.ben-manes.versions:com.github.ben-manes.versions.gradle.plugin:0.49.0

The following dependencies have later milestone versions:
 - org.apache.commons:commons-lang3 [3.12.0 -> 3.13.0]
     https://commons.apache.org/proper/commons-lang/

Gradle release-candidate updates:
 - Gradle: [8.4: UP-TO-DATE]

После обновления обязательно проверьте работоспособность приложения. Затем зафиксируйте изменения в git-репозитории.