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 не создает структуру каталогов, как указано в документе? Я что-то делал неправильно? Я проверил настройки и не смог найти ничего похожего.
Ответы
Ответ 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.