Почему обновление Scala sbt каждый раз, когда я запускаю его из командной строки?

Я новичок в Scala, и каждый раз, когда я запускаю sbt из командной строки, он переходит в длинное обновление, и для обновления sbt требуется несколько минут. Я прочитал инструкции, которые sbt собирался обновить при первом запуске из командной строки, но в моем случае он обновляется каждый раз, когда я его запускаю. Я должен подождать несколько минут, чтобы обновить его, и это отнимает часть удовольствия от обучения Scala. Поэтому мой вопрос заключается в том, как я могу остановить sbt от обновления каждый раз и нормально ли это для этого?

edit:

Вот как выглядит моя команда sbt, и после этого она переходит в длинное обновление.

enter image description here

edit2:

enter image description here

Ответ 1

SBT предназначен для запуска один раз, когда вы начинаете работать над проектом, а не закрываете его. Это экономит время, необходимое для запуска JVM, а также любые задачи запуска, которые SBT-доза запускается.

Итак, вместо запуска:

sbt test

в командной строке оболочки операционной системы вы можете запустить

sbt

Без аргументов, которые перейдут в приглашение sbt.

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

Еще одна большая экономия времени - это то, что в приглашении sbt вы можете положить ~ в начале многих команд sbt, чтобы они запускались автоматически. например,

~ тест

Запустит ваши тесты, как только вы сохраните их в своем IDE/редакторе.