Управление зависимостями одна из базовых задач 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-репозитории.
Самостоятельная работа
- Запустите установленную среду разработки Idea и создайте Gradle-проект, следуя инструкции
- Добавьте в зависимости проекта библиотеку Apache Commons Lang
- Подключите Gradle плагин Gradle Use Latest Versions Plugin по инструкции в репозитории
- Попробуйте обновить зависимости в проекте
Дополнительные материалы
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.