Первые шаги в сбт
Я просто хотел избежать медленного запуска и очистки JVM в scalac <some file>
а также run <some class>
петля. То есть я попросил среду, которую можно загрузить один раз, а затем скомпилировать и запустить мое приложение несколько раз. На канале #scala я получил рекомендацию использовать sbt
,
Однажды я использовал готовый скрипт sbt во время курса #progfun, но сам никогда не программировал sbt. Это похоже на ад. Как вы можете легко настроить его для моей задачи?
1 ответ
% mkdir myproj
% cd myproj
% echo 'object MyProject extends App { println("hello world") }' > MyProject.scala
% sbt
[info] Loading global plugins from /Users/tisue/.sbt/0.13/plugins
[info] Set current project to myproj (in build file:/Users/tisue/myproj/)
> set scalaVersion := "2.11.7"
[info] Defining *:scalaVersion
[info] The new value will be used by *:Additional arguments for the presentation compiler., *:allDependencies and 13 others.
[info] Run `last` for details.
[info] Reapplying settings...
[info] Set current project to myproj (in build file:/Users/tisue/myproj/)
> session save
[info] Reapplying settings...
[info] Set current project to myproj (in build file:/Users/tisue/myproj/)
> run
[info] Updating {file:/Users/tisue/myproj/}myproj...
[info] Resolving jline#jline;2.12.1 ...
[info] Done updating.
[info] Compiling 1 Scala source to /Users/tisue/myproj/target/scala-2.11/classes...
[info] Running MyProject
hello world
[success] Total time: 2 s, completed Nov 18, 2015 9:46:26 PM
>
если вы хотите, вы можете поместить свои источники под src/main/scala
вместо корневого уровня каталога проекта - это тоже работает.
session save
создает build.sbt
файл, который выглядит как:
scalaVersion := "2.11.7"
Вы можете добавить дополнительные настройки там позже, если хотите, либо с set
а также session save
или путем редактирования файла напрямую.
если вы не установите scalaVersion
к сожалению, вы получите Scala 2.10 вместо 2.11:-(