SBT и Scala | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
C++ Developer. Professional JavaScript Developer. Professional Android Developer. Professional Microservice Architecture React.js Developer JavaScript Developer. Basic PostgreSQL Программист С C++ Developer. Basic Team Lead PHP Developer. Professional Подготовка к сертификации Oracle Java Programmer (OCAJP) Алгоритмы и структуры данных Разработчик IoT C# Developer. Basic Unreal Engine Technical Game Design C# ASP.NET Core разработчик Python Developer. Professional Python Developer. Basic Node.js Developer iOS Developer. Professional Cloud Solution Architecture Kotlin Backend Developer Agile Project Manager Scala-разработчик Symfony Framework iOS Developer. Basic Супер-интенсив Azure Специализация Python Developer
Инфраструктура
Экспресс-курс по управлению миграциями (DBVC) Экспресс-курс «IaC Ansible» Microservice Architecture Разработчик программных роботов (RPA) на базе UiPath и PIX Внедрение и работа в DevSecOps NoSQL Специализация Administrator Linux
-24%
Разработчик IoT Мониторинг и логирование: Zabbix, Prometheus, ELK MongoDB
-30%
DevOps практики и инструменты MS SQL Server Developer SRE практики и инструменты Administrator Linux. Advanced Infrastructure as a code Супер-интенсив "Tarantool" Специализация Network engineer
Корпоративные курсы
Экспресс-курс по управлению миграциями (DBVC) Экспресс-курс «IaC Ansible» Разработчик программных роботов (RPA) на базе UiPath и PIX Внедрение и работа в DevSecOps NoSQL Spark Developer Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Game QA Engineer DevOps практики и инструменты Enterprise Architect Node.js Developer Cloud Solution Architecture Agile Project Manager Супер-практикум по работе с протоколом BGP Infrastructure as a code Промышленный ML на больших данных Супер-интенсив Azure Руководитель поддержки пользователей в IT
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

SBT и Scala

Простeйшие скрипты, как и небольшие программы мы можем компилировать и запускать вручную посредством команд scalac и scala. Но по мере роста количества файлов ручная компиляция будет все более и более трудоемкой. Для решения этого вопроса разработчики применяют системы сборки. Когда мы говорим о сборке кода для языка программирования Scala, мы, конечно можем задействовать стандартные Java-инструменты: maven, gradle либо ant, однако сообщество, как и непосредственно сами разработчики, рекомендуют отдавать предпочтение sbt (simple build tool).

1-1801-179ef6.png

Кстати, если вы только начинаете и еще не установили Scala, можете пропустить инсталляцию, так как система сборки sbt скачает Scala автоматически. Но это так, к слову.

Идем дальше. Сам по себе процесс сборки описан в корне проекта в файле build.sbt или в файлах .scala в папочке project. При этом само описание представляет собой программу, написанную на Scala (в свою очередь, она может собираться посредством sbt в качестве отдельного проекта).

Синтаксис файла с расширением .sbt схож с синтаксисом Scala, но имеет некоторые ограничения и дополнения. Например, минимальный build.sbt будет выглядеть приблизительно следующим образом (обратите внимание, что пустые строки обязательны):

2-1801-107486.png Исходники помещают в папку src/main/scala и src/test/scala по пути, который соответствует иерархии пакетов (аналогично с Java). Для того чтобы выполнить сборку, тестирование и запуск проекта, надо в любой поддиректории проекта запустить ряд команд:

3-1801-087206.png Сделать это можно и с помощью интерактивной консоли:

4-1801-3de05e.png Стоит заметить, что последовательное выполнение команд может показаться некоторым несколько необычно -- достаточно обратить внимание на такую особенность синтаксиса, как точку с запятой в начале:

5-1801-df7479.png

По материалам tproger.ru.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться