Подтвердить что ты не робот

IntelliJ IDEA 13: новый Scala проект SBT не создал структуру каталогов src

Я следил за запуском видео на сайте Jetbrains, чтобы настроить IntelliJ IDEA 13.1 Community Edition для работы с Scala. Scala был установлен плагин v0.36.431. В то время как я создал новый проект Scala SBT с мастером, в проекте не было src/ структуры каталога. Созданы только два файла sbt:

scala-course/
├── build.sbt
└── project
    └── plugins.sbt

Из видео и другого документа я знаю, что должна быть структура каталогов src/, включая src/main/scala, src/test/scala и т.д. sbt по умолчанию использует ту же структуру каталогов, что и Maven для исходных файлов.

Я могу создать эти папки вручную и пометить его как исходный корень. Однако это тривиально. Поэтому мой вопрос: почему мастер проекта IntelliJ IDEA не создает структуру каталогов, как указано в документе? Я что-то делал неправильно? Я проверил настройки и не смог найти ничего похожего.

4b9b3361

Ответ 1

Благодаря lpiepiora, с подсказкой я узнаю причину.

Поскольку мой sbt недавно установлен, в ~/.ivy2/cache/ и ~/.sbt/boot/ ничего нет. sbt необходимо для загрузки необходимых зависимостей из репозиториев в сети. Случилось так, что у моего прокси-сервера в Интернете было что-то не так, загрузка застряла.

Также необходимо заметить, что если вы запустите IntelliJ IDEA, когда sbt работает в фоновом режиме, в следующий раз вы получите ошибку в ожидании некоторого файла блокировки. Необходимо удалить файл блокировки в файловой системе и снова запустить IntelliJ IDEA.

После исправления сетевой проблемы все работает как обещано. Это требует нескольких минут, в зависимости от скорости сети, для загрузки необходимых файлов jar. По завершении создаётся структура каталогов src/.

Ответ 2

Обычно он должен создавать эти папки автоматически. Это может занять некоторое время, хотя это займет пару секунд в моем случае.

При создании проекта убедитесь, что вы выбрали Scala → SBT, затем перейдите к мастеру.

После нажатия кнопки "Готово" проект будет загружен. Эта часть занимает пару секунд, и я не вижу никаких src/main/scala и src/test/scala, сгенерированных до тех пор, пока не будет выполнено. Обратите внимание на нижнюю часть экрана, чтобы увидеть, когда это будет сделано.

Loading Process

Как только процесс будет завершен, вы увидите папки.

Loaded Done

Если это не так, проверьте настройки. Необходимо, чтобы автоматически создавались каталоги Create для пустых корней содержимого. Вы можете проверить использование автоматического импорта для автоматического распространения изменений в build.sbt.

Settings

После изменения настроек (если требуется изменение) вам может потребоваться обновить проект, как показано на рисунке ниже.

Refresh Settings

Ответ 3

Это также может произойти, если вы не выбрали JDK. По какой-то причине вы больше не получаете возможность выбрать SDK, чтобы убедиться, что вы настроили это перед началом работы. Чтобы исправить это, выполните следующие действия:

From the welcome screen, go to 
Configure -> Project defaults -> Project structure and add the jdk.

Источник: В чем причина "Ошибка: невозможно определить исполняемый файл Java VM в выбранном JDK" ?

Ответ 4

Я следил за инструкциями в этом потоке, но у меня был сбой java на последней стадии в sbt с конфигурацией ниже, и я думаю, что эта информация может быть полезна:

Проблема произошла с IDEA 2016.2, sbt 0.13.8 (позже я попытался импортировать, используя 0.13.12, но авария была такой же), scala 2.11.8 и ubuntu 16.04.

Единственный способ заставить его работать - использовать java 8 вместо 9.

error: error while loading package, Missing dependency 'object java.lang.Object in compiler mirror', required by /home/jbamaral/.sbt/boot   at xsbt.boot.Boot.main(Boot.scala)
... 
stack log here
...
[error] scala.reflect.internal.MissingRequirementError: object java.lang.Object in compiler mirror not found.