Начало работы со Scala и sbt в командной строке

Language

В этом руководстве вы увидите, как создавать проекты Scala из шаблона. Это можно использовать как отправную точку для своих собственных проектов. Мы будем использовать sbt, де-факто инструмент сборки для Scala. sbt компилирует, запускает и тестирует ваши проекты среди других связанных задач. Мы предполагаем, что вы знаете, как пользоваться терминалом.

Установка

  1. Убедитесь, что у вас установлена Java 8 JDK (также известная как 1.8)
    • Запустите javac -version в командной строке и убедитесь, что выдается javac 1.8.___
    • Если у вас нет версии 1.8 или выше, установите JDK
  2. Установите sbt

Создание проекта

  1. cd в пустую папку.
  2. Запустите следующую команду sbt new scala/hello-world.g8. Она извлекает шаблон ‘hello-world’ из GitHub. Она также создаст папку target, которую пока можно игнорировать.
  3. При появлении запроса назовите приложение hello-world. Это создаст проект под названием “hello-world”.
  4. Давайте взглянем на то, что только что было сгенерировано:
  1. cd в пустую папку.
  2. Запустите следующую команду sbt new scala/scala3.g8. Она извлекает шаблон ‘scala3’ из GitHub. Она также создаст папку target, которую пока можно игнорировать.
  3. При появлении запроса назовите приложение hello-world. Это создаст проект под названием “hello-world”.
  4. Давайте взглянем на то, что только что было сгенерировано:
- hello-world
    - project (sbt использует эту папку для установки и настройки плагинов и зависимостей)
        - build.properties
    - src
        - main
            - scala (весь Scala код находится в этой папке)
                - Main.scala (точка входа в программу) <-- это все, что вам сейчас нужно
    - build.sbt (файл определения сборки для sbt)

После того как вы создадите свой проект, sbt создаст дополнительные каталоги target для сгенерированных файлов. Вы можете игнорировать их.

Запуск проекта

  1. cd в hello-world.
  2. Запустите sbt. Эта команда запустит sbt console.
  3. Запустите ~run. ~ опциональна и заставляет sbt перекомпилировать и повторно запускать проект при каждом сохранении изменений в файле проекта для быстрого цикла редактирование/запуск/отладка. sbt также сгенерит директорию target, которую можно игнорировать.

Доработка кода

  1. Откройте файл src/main/scala/Main.scala в вашем любимом текстовом редакторе.
  2. Измените “Hello, World!” на “Hello, New York!”
  3. Если вы не остановили команду sbt, то должны увидеть “Hello, New York!”, напечатанным в консоли.
  4. Вы можете продолжить вносить изменения и видеть результаты доработки в консоли.

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

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

  1. Откройте build.sbt и добавьте следующую строку:
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2"

Здесь libraryDependencies представляет набор зависимостей, и с помощью += мы добавляем зависимость scala-parser-combinators к набору зависимостей, которые sbt будет загружать при запуске. Теперь в любом файле Scala можно импортировать классы, объекты и т.д. из scala-parser-combinators с помощью обычного импорта.

Вы можете найти больше опубликованных библиотек на Scaladex, каталоге библиотек Scala, где вы также можете скопировать указанную выше информацию о зависимостях для вставки в свой файл build.sbt.

Примечание для Java библиотек: Для обычной библиотеки Java следует использовать только один знак процента (%) между названием организации и именем артефакта. Двойной процент (%%) — это специализация Scala библиотек. Подробнее об этом можно узнать в документации sbt.

Следующие шаги

Перейдите к следующему учебнику из серии getting started with sbt и узнайте, как тестировать Scala c sbt и ScalaTest в командной строке.

или

  • Продолжайте изучать Scala в интерактивном режиме на Scala Exercises.
  • Узнайте о возможностях Scala с помощью небольших статей, ознакомившись с нашим туром по Scala.

Contributors to this page: