Я использую IntelliJ IDEA 13.1.4, а также пробовал последнюю версию 14.
При запуске SBT появляется следующая ошибка:
Error:Cannot determine Java VM executable in selected JDK
У меня JDK 1.7 установлен на моем компьютере и в PATH.
В журналах ( ~/Library/Logs/IntelliJIdea14/idea.log
в MacOS) есть следующая трассировка стека:
2014-11-03 11:22:05,054 [4896641] WARN - nal.AbstractExternalSystemTask - Cannot determine Java VM executable in selected JDK
com.intellij.openapi.externalSystem.model.ExternalSystemException: Cannot determine Java VM executable in selected JDK
at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$10.apply(SbtExternalSystemManager.scala:97)
at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$10.apply(SbtExternalSystemManager.scala:97)
at scala.Option.getOrElse(Option.scala:120)
at org.jetbrains.sbt.project.SbtExternalSystemManager$.executionSettingsFor(SbtExternalSystemManager.scala:96)
at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$getExecutionSettingsProvider$1.apply(SbtExternalSystemManager.scala:54)
at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$getExecutionSettingsProvider$1.apply(SbtExternalSystemManager.scala:54)
at org.jetbrains.sbt.package$$anon$3.fun(package.scala:29)
at org.jetbrains.sbt.package$$anon$3.fun(package.scala:28)
at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.getExecutionSettings(ExternalSystemApiUtil.java:590)
at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager.a(ExternalSystemFacadeManager.java:201)
at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager.a(ExternalSystemFacadeManager.java:178)
at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager.doInvoke(ExternalSystemFacadeManager.java:133)
at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager$MyHandler.invoke(ExternalSystemFacadeManager.java:270)
at com.sun.proxy.$Proxy57.getResolver(Unknown Source)
at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:48)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:137)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:123)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$2.execute(ExternalSystemUtil.java:475)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3$1.run(ExternalSystemUtil.java:543)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:609)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$7.run(ProgressManagerImpl.java:410)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$3.run(ProgressManagerImpl.java:194)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.a(ProgressManagerImpl.java:281)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:233)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:181)
at com.intellij.openapi.application.impl.ApplicationImpl$10$1.run(ApplicationImpl.java:640)
at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:405)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:56)
В чем может быть причина этого?
intellij-idea
sbt
Зуриар
источник
источник
Project SDK
для определенного проекта. Не могли бы вы проверить настройки проекта для рассматриваемого проекта и просмотреть настройки в разделе «Проект»?Ответы:
Вы должны иметь возможность обойти это, установив jdk из настроек, а не из диалогового окна открытия / импорта проекта.
На экране приветствия перейдите
Configure -> Project defaults -> Project structure
и добавьте файл jdk.Тогда открытие проекта sbt должно сработать.
Нашел решение отсюда
источник
Другой способ установить JDK - из настроек вашего текущего модуля / проекта (для вашего текущего проекта)
Выберите
Open Module Settings
из контекстного меню проекта (или нажмите F4 по умолчанию),затем на левой вкладке выберите
Project
и укажите правильныйProject SDK
вариант в раскрывающемся списке.источник
Обычно проблема возникает из-за неправильной версии JDK в ".idea / sbt.xml", например:
Этот параметр не обновляется соответствующим образом при изменении Project SDK, см. SCL-10085 . Если у вас обычно настроен другой JDK (1.7 в моем примере), ошибки не произойдет, но Project SDK будет автоматически изменен обратно. В противном случае возникает эта ошибка.
Проблему легко решить, вручную отредактировав значение в ".idea / sbt.xml" до нужной версии JDK.
источник
Такая же ошибка возникает при попытке выполнить обновление в «Задачах SBT».
открыто
Включи
После завершения обновления проекта выключите его снова, чтобы включить обратную замену при изменении кода в редакторе.
источник
Мне пришлось открыть
Settings -> Language & Frameworks -> Scala Compiler Server
Затем установите JVM SDK там, который был
<No SDK>
.Это было в дополнение к установке Project SDK в
Project Structure -> Project
.Смотрите скриншот здесь .
источник
IntelliJ 13.1.6> Файл> Структура проекта> установить Project SDK
источник
У меня возникла такая же проблема после удаления Java1.6 и Java1.7 из настроек проекта (с Java8 по умолчанию).
Наконец, я решил проблему, изменив конфигурацию SBT JVM на Custom Java (Настройки -> Сборка, Выполнение, Развертывание -> Инструменты сборки -> SBT).
источник
Мне по какой-то причине вышеперечисленные предложения не помогли. Тем не менее, я выяснил, что в разделе Project Defaults> Project Structure (Welcome screen) мой SDK проекта по умолчанию был установлен на Go SDK.
Что сработало для меня, так это установка этого SDK по умолчанию на Java JDK.
источник
Для меня я выбрал JDK в «Открыть настройки модуля»> «Модуль»> «Зависимости»> «SDK модуля». Однако SBT искал JDK на уровне проекта, который установлен в «Настройки открытого модуля»> Проект> SDK проекта, как указано выше в @michasm.
источник
В последние Nightlies плагина изменения Scala , как проект JDK установлен, который должен решить эту проблему в большинстве случаев. Сообщите мне, если в некоторых случаях он все еще ломается.
источник
Это случилось со мной в многоязычном проекте, когда моим основным модулем Project SDK был Python, а я пытался добавить дополнительный модуль JDK (импорт проекта sbt).
Мне пришлось временно переключить Project SDK основного модуля на JDK, чтобы добавить модуль sbt. Затем у меня была возможность вернуться и изменить каждый модуль на правильный SDK.
источник