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

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) 
4b9b3361

Ответ 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 порядка.

  1. Снимите флажок "Использовать автоматический импорт" в " Preferences > Build, Execution, Deployment > Build Tools > sbt чтобы IntelliJ не Preferences > Build, Execution, Deployment > Build Tools > sbt автоматически обновлять импорт самостоятельно.

enter image description here

  1. Добавьте addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.3") в файл проекта build.sbt
    • Или установите его глобально в ~/.sbt/1.0/plugins/build.sbt
  2. Запустите sbt update в командной строке

Если вы видите [error] java.lang.NoClassDefFoundError: org/vafer/jdeb/Console, то добавьте следующее в ~/.sbt/1.0/sbt-coursier.sbt.

import coursier.Keys._
classpathTypes += "maven-plugin"

Для получения дополнительной информации об этой ошибке см. Вопрос № 450.

  1. (Необязательно) Повторно включите автоматический импорт с шага 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 работала.