IntelliJ не может импортировать проект sbt
Я обновил IntelliJ до версии CE 2017.3 от CE 2017.2.5, и теперь я не могу построить свой проект sbt. Строка застряла на первом шаге:
"Build: sync
MyProjName: syncing...
dump project structure from sbt"
Я удалил каталог .idea и каталог MyProjName/project/target
. Я выполнил сборку sbt из командной строки, которая сработала.
Затем я снова начал IntelliJ и попытался импортировать MyProjName/build.sbt
в качестве проекта. Я также вышел из системы. Это было несколько раз. Импорт никогда не прогрессирует за этот шаг.
Я работаю за брандмауэром, но я проверил настройки прокси-сервера, и они верны и неизменны из предыдущей версии (если это имеет значение).
Как устранить/исправить это?
Версия sbt равна 0,13.6. Scala плагин 2017.3.10.
Из журнала:
IDE: IntelliJ IDEA (build #IC-173.3727.127, 27 Nov 2017 09:32)
OS: Windows 7 (6.1, amd64)
JRE: 1.8.0_152-release-1024-b6 (JetBrains s.r.o)
JVM: 25.152-b6 (OpenJDK 64-Bit Server VM)
Ответы
Ответ 1
Я решил проблему с синхронизацией, используя следующую информацию: https://youtrack.jetbrains.com/issue/SCL-13024
Ключевая информация: "Похоже, что sbt пытается переопределить" исходники "и" документы "для плагинов sbt, которые вообще не доступны. Если свойства для загрузки" Исходники библиотеки "и" исходники sbt "отключены, то время для дамп структуры уменьшается с "навсегда" до менее чем 1 минуты. "
То есть в IntelliJ IDEA снимите флажок "Источники библиотеки" в разделе "Настройки уровня проекта" для Build Tools sbt в настройках IDEA. Как показано на рисунке ниже:
![enter image description here]()
Ответ 2
Единственный способ, которым я мог обойти это, - запустить sbt clean compile
в строке SBT console/cmd, а затем обновить проект SBT в IntelliJ.
Ответ 3
Я не нашел способ сделать эту работу в IntelliJ Idea CE 2017.3, поэтому я вернулся к CE 2017.2.5
Ответ 4
Что сработало для меня, так это увеличить память для SBT внутри IntelliJ. На моем Mac: предпочтение → Сборка, выполнение, отсрочка → sbt
затем измените "Максимальный размер кучи" с 768 МБ до 2048 МБ, а затем все было успешно импортировано через несколько минут.
Ответ 5
Я встречаю ту же проблему! Я удаляю каталог ~/.sbt/0.13, тогда он работает. Вы можете удалить каталог sbt, который вы использовали.
Ответ 6
Пользовательская версия SBT работает для меня.
IntelliJ IDEA Preferences → Build, Execution, Deployment → Build Tools → sbt → Launcher
Выберите Custom
![custom sbt screenshot]()
Ответ 7
Был более старый проверенный проект, вызывающий эту проблему. Сделал обычный rm -rf.idea
+ реимпорт, но он продолжал rm -rf.idea
. Перепробовал все виды вещей, но когда наконец исправил это для меня было не просто удалить target
папку верхнего уровня, а вместо этого сделать
find . -name target -type d -exec rm -rf {} \;
Следующее открытие/импорт прошло без нареканий. (Это было на 2018.1.5, 2018.1.6 и 2018.2 RC.)
Ответ 8
IntelliJ ограничивает эффективность и без того медленного sbt update
. Я рекомендую использовать sbt-coursier вместо этого. Он был написан специально для того, чтобы улучшить время обновления зависимостей, и в одном крупном проекте, в котором я участвую, улучшено время обновления зависимостей примерно на 2 порядка.
- Снимите флажок "Использовать автоматический импорт" в "
Preferences > Build, Execution, Deployment > Build Tools > sbt
чтобы IntelliJ не Preferences > Build, Execution, Deployment > Build Tools > sbt
автоматически обновлять импорт самостоятельно.
![enter image description here]()
- Добавьте
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.3")
в файл проекта build.sbt
- Или установите его глобально в
~/.sbt/1.0/plugins/build.sbt
- Запустите
sbt update
в командной строке
Если вы видите [error] java.lang.NoClassDefFoundError: org/vafer/jdeb/Console
, то добавьте следующее в ~/.sbt/1.0/sbt-coursier.sbt
.
import coursier.Keys._
classpathTypes += "maven-plugin"
Для получения дополнительной информации об этой ошибке см. Вопрос № 450.
- (Необязательно) Повторно включите автоматический импорт с шага 1, поскольку последующие обновления транзакционных зависимостей могут выполняться быстрее.
Ответ 9
Я пережил те же проблемы после обновления IntelliJ до 2017.3
Но теперь он отлично работает.
Я думаю, что intelliJ не смог передать опцию "Без прокси для" для sbt.
поэтому я добавил
-Dhttp.nonProxyHosts = "host1 | host2"
в Файл > Настройки > Сборка, извещение, развертывание > sbt > Параметры VM
Ответ 10
Просто сняв галочку с "sbt sources", я добился цели
Ответ 11
Я тоже столкнулся с этой проблемой. Ниже у меня работали две конфигурации. Я пытался подтвердить эту настройку во многих новых проектах SBT, для всех это работало.
(1) снимите флажок "Исходники библиотеки" в разделе "Настройки уровня проекта" для Build Tools sbt в настройках IDEA (2) -Dhttp.nonProxyHosts = "host1 | host2" в меню "Файл"> "Параметры"> "Сборка, Excution, Deployment> sbt> VM". параметры
Ответ 12
Для меня просто проверка use sbt shell for both build and imports
работала.