Java: Настройка окружения
Теория: Инициализация Gradle-проекта
Ручная компиляции кода довольно утомительный процесс даже во время обучения. В реальных приложениях такой подход просто не применим, слишком много действий придется делать руками. Для компиляции используются специальные системы сборки, такие как Maven или Gradle. Последний стал стандартом де-факто для новых приложений, поэтому рассмотрим работу именно с ним. Принцип у всех таких систем один и тот же, поэтому зная один, несложно разобраться и в других.
Gradle — это не просто автоматизатор компиляции. Это навороченная система сборки, где компиляция это всего лишь один из этапов. Сборка проекта – довольно широкое понятие. Она включает в себя компиляцию исходного кода, упаковку в jar, запуск тестов и другие шаги, необходимые для создания рабочего приложения. Ключевые возможности Gradle:
- Автоматическая сборка проекта. Gradle сам знает какие файлы и как надо собирать. Сам компилирует, сам упаковывает в JAR
- Быстрая инкрементальная сборка. Компилируется только то, что изменилось
- Управление зависимостями. Gradle сам качает и подключает библиотеки. И заодно умеет их обновлять
Полный список возможностей огромен. Большая часть из них работает автоматически, об этом не придется думать.
В повседневной работе Java-программист пользуется Gradle через редактор, но во время обучения нужно потратить немного времени на то, чтобы разобраться с тем как он работает. Иначе потом будет сложно, когда что-то пойдет не так и возникнет ошибка. Поэтому здесь мы проделаем все операции через консоль, а дальше подключим редактор.
Начнем с установки. Если Gradle у вас не установлен, то посмотрите инструкцию. Проверить установку можно так:
Теперь инициализируем новый Gradle-проект:
Дальше Gradle задаст несколько вопросов, на базе которых сформируется правильная структура. Если во время создания вы ошиблись и выбрали не тот вариант, то ничего страшного. Просто дойдите до конца и пересоздайте директорию с проектом. Потом запустите все заново. Разбираем вопросы:
Выбираем тип basic, который Gradle предлагает по умолчанию. Этот тип представляет собой базовую структуру проекта Gradle, которую дальше можно настроить и дополнить по мере необходимости
Выбираем язык для описания Gradle файлов. Kotlin DSL является выбором по умолчанию. Мы тоже будем использовать Kotlin
Просто жмем Enter. Текущее имя директории и есть имя проекта.
Выбираем yes. После этого появляется радостная надпись:
Посмотрим на получившуюся структуру:
Много всего, начнем по порядку.
Gradle сразу подготавливает проект к использованию через git добавив два файла .gitignore и .gitattributes. Игнорируются файлы сборки, которые попадут в директорию build и .gradle, это служебные файлы Gradle, которые он сам себе сгенерирует во время работы.
Файлы gradlew и gradlew.bat нужны для установки самого Gradle. Концепция здесь такая, Gradle во время создания проекта делает так, чтобы проект не использовал глобально установленный Gradle. Он скачивает сам себя в директорию gradle. Все команды будут запускаться через ./gradlew (в Windows ./gradlew.bat). Зачем так сделано? Так Gradle фиксирует версию. Если поменяется глобально установленная версия, то проект продолжит работать с той, с которой он работал. Меньше шансов что-то сломать, но сложнее в обновлении.
Файл settings.gradle.kts содержит различные настройки, например, там задается имя проекта. Остальное добавляется по мере развития и требований со стороны кода.
Файл build.gradle.kts – это основной файл Gradle, в котором на языке Kotlin описано то, как будет работать система сборки. Пока этот файл пустой, чуть позже мы его наполним
Далее нужно создать место, в котором будет располагаться исходный код нашего проекта. Внутри директории проекта создайте следующую файловую структуру: src/main/java/io/hexlet/example. Назначение директорий здесь следующее. Директория src (source) – место, в котором лежит весь исходный код проекта. Директория main отвечает за код проекта и дополнительные ресурсы (например, картинки). Внутри находится java, то есть тут лежит Java-код. Но подразумевается, что бывает и по-другому. И вот только внутри java начинается структура, соответствующая пакету проекта.
В директории example создайте новый Java-класс с именем App.java и добавьте туда код:
Само приложение готово. Теперь перейдем к настройке системы сборки. Откройте файл build.gradle.kts. Именно с этим файлом придется работать больше всего, настраивая Gradle для подключения новых библиотек и их конфигурации. Добавьте туда следующий код:
Теперь все готово. Попробуем запустить проект, а в следующем уроке поговорим о том, как конкретно работать с Gradle:


