Во-первых, вы захотите использовать sbt-extras , потому что это автоматически загружает и использует правильную версию sbt.Попытка использовать неправильную версию sbt (более новую или более старую, чем требуется для проекта, который вы пытаетесь создать) не обязательно сработает и может вызвать странные ошибки.
Запустите ее:
~/path/to/sbt-extras/sbt
Дождитесь его запуска и загрузите все.Если вам нужно использовать аутентифицированный прокси, вам нужно отредактировать скрипт, указав имя пользователя и пароль для прокси.
Проверьте версию Scala, которая, по мнению sbt , необходимапостроить против (в конце вывода, если все работает).Если это нормально, хорошо, вам не нужно ничего делать.Если это не так, вы можете временно указать версию явно с помощью ++, например:
++2.8.1
(Если вы хотите сделать это постоянным, вы можете редактировать файлы определений сборки, но так как это требует созданияизменение файлов под управлением версией, это может быть не то, что вы хотите.)
Теперь, если вы используете старую версию sbt, не пропустите следующий шаг!Если вы это сделаете, вы можете получить странные ошибки.
update
Теперь вы можете собрать и протестировать то, что вы создали:
test
Если вы получите сообщение об ошибке «Filename too long»,это не специфическая для sbt проблема, это проблема scala, которая чаще всего затрагивает пользователей Ubuntu (технически, для пользователей Unbuntu это обычно связано с домашними каталогами, зашифрованными с помощью encfs).Если вы используете Scala> = 2.9, отредактируйте сборку, чтобы использовать параметр командной строки scalac, который позволяет указать максимальную длину имени файла.В противном случае, если вы работаете в Linux, вы можете перенаправить сборку в / dev / shm или / tmp, выполнив эти команды в приглашении оболочки ( не background sbt с CTRL+ Z в Unix, потому что может показаться, что он перестает работать должным образом):
rm -rf target
ln -s /dev/shm target
(возможно, вам придется выполнять эти команды в проекте / сборке вместо этого или также.)
На самом деле,Вероятно, лучше и, возможно, даже более безопасно создать подкаталог / dev / shm или / tmp и использовать его вместо этого.
Результат компиляции должен появиться в target.Затем вы можете захотеть запустить его, если это то, что вы можете запустить:
run
Если все выглядит хорошо, вы можете опционально опубликовать результат локально, так что результат может быть автоматически выбран другими сборками sbt.:
publish-local