Начало работы со Scala и sbt в командной строке
Info: JavaScript is currently disabled, code tabs will still work, but preferences will not be remembered.
В этом руководстве вы увидите, как создавать проекты Scala из шаблона. Это можно использовать как отправную точку для своих собственных проектов. Мы будем использовать sbt, де-факто инструмент сборки для Scala. sbt компилирует, запускает и тестирует ваши проекты среди других связанных задач. Мы предполагаем, что вы знаете, как пользоваться терминалом.
Установка
- Убедитесь, что у вас установлена Java 8 JDK (также известная как 1.8)
- Запустите
javac -versionв командной строке и убедитесь, что выдаетсяjavac 1.8.___ - Если у вас нет версии 1.8 или выше, установите JDK
- Запустите
- Установите sbt
Создание проекта
cdв пустую папку.- Запустите следующую команду
sbt new scala/hello-world.g8. Она извлекает шаблон ‘hello-world’ из GitHub. Она также создаст папкуtarget, которую пока можно игнорировать. - При появлении запроса назовите приложение
hello-world. Это создаст проект под названием "hello-world". - Давайте взглянем на то, что только что было сгенерировано:
cdв пустую папку.- Запустите следующую команду
sbt new scala/scala3.g8. Она извлекает шаблон ‘scala3’ из GitHub. Она также создаст папкуtarget, которую пока можно игнорировать. - При появлении запроса назовите приложение
hello-world. Это создаст проект под названием "hello-world". - Давайте взглянем на то, что только что было сгенерировано:
- hello-world
- project (sbt использует эту папку для установки и настройки плагинов и зависимостей)
- build.properties
- src
- main
- scala (весь Scala код находится в этой папке)
- Main.scala (точка входа в программу) <-- это все, что вам сейчас нужно
- build.sbt (файл определения сборки для sbt)
После того как вы создадите свой проект, sbt создаст дополнительные каталоги target для сгенерированных файлов.
Вы можете игнорировать их.
Запуск проекта
cdвhello-world.- Запустите
sbt. Эта команда запустит sbt console. - Запустите
~run.~опциональна и заставляет sbt перекомпилировать и повторно запускать проект при каждом сохранении изменений в файле проекта для быстрого цикла редактирование/запуск/отладка. sbt также сгенерит директориюtarget, которую можно игнорировать.
Доработка кода
- Откройте файл
src/main/scala/Main.scalaв вашем любимом текстовом редакторе. - Измените "Hello, World!" на "Hello, New York!"
- Если вы не остановили команду sbt, то должны увидеть "Hello, New York!", напечатанным в консоли.
- Вы можете продолжить вносить изменения и видеть результаты доработки в консоли.
Добавление зависимости
Немного меняя тему, давайте посмотрим, как использовать опубликованные библиотеки для добавления дополнительных функций в наши приложения.
- Откройте
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.