Estoy usando IntelliJ IDEA 13.1.4 y también probé la última versión 14.
Al ejecutar SBT, aparece el siguiente error:
Error:Cannot determine Java VM executable in selected JDK
Tengo JDK 1.7 instalado en mi máquina y en PATH.
En los registros ( ~/Library/Logs/IntelliJIdea14/idea.log
en MacOS) hay el siguiente seguimiento de pila:
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)
¿Cuál puede ser la razón de esto?
intellij-idea
sbt
Zuriar
fuente
fuente
Project SDK
para el proyecto definido. ¿Podría comprobar la configuración del proyecto para el proyecto en cuestión y ver la configuración en Proyecto?Respuestas:
Debería poder solucionarlo configurando el jdk desde la configuración, no desde el cuadro de diálogo abrir / importar proyecto.
Desde la pantalla de bienvenida, vaya a
Configure -> Project defaults -> Project structure
y agregue el archivo jdk.Abrir el proyecto sbt debería funcionar bien entonces.
Solución encontrada desde aquí
fuente
Otra forma de configurar JDK es desde la configuración actual del módulo / proyecto (para su proyecto actual)
Elija
Open Module Settings
del menú contextual del proyecto (o presione F4 por defecto),luego , desde la pestaña izquierda, seleccione
Project
y apunte correctamenteProject SDK
en el menú desplegable.fuente
El problema suele deberse a una versión incorrecta de JDK en ".idea / sbt.xml", por ejemplo:
Esta opción no se actualiza en consecuencia cuando se cambia el SDK del proyecto, consulte SCL-10085 . Si tiene el otro JDK (1.7 en mi ejemplo) configurado generalmente, no se producirá ningún error, pero el SDK del proyecto se volverá a cambiar silenciosamente. De lo contrario, se produce este error.
El problema se puede resolver fácilmente editando manualmente el valor en ".idea / sbt.xml" a la versión correcta de JDK.
fuente
El mismo error también ocurre cuando intenta actualizar en "Tareas SBT".
Abierto
Encender
Una vez que haya terminado de actualizar el proyecto, apáguelo nuevamente para habilitar el hotswapping cuando cambie su código en el editor.
fuente
Tuve que abrir
Settings -> Language & Frameworks -> Scala Compiler Server
Luego, configure el SDK de JVM allí, que era
<No SDK>
.Esto fue además de configurar el SDK del proyecto en
Project Structure -> Project
.Vea la captura de pantalla aquí .
fuente
IntelliJ 13.1.6> Archivo> Estructura del proyecto> establecer SDK del proyecto
fuente
Tuve el mismo problema después de eliminar Java1.6 y Java1.7 de la configuración del proyecto (con Java8 por defecto).
Finalmente, resuelvo el problema cambiando la configuración de SBT JVM a Java personalizado (Configuración -> Compilación, ejecución, implementación -> Herramientas de compilación -> SBT).
fuente
Para mí, las sugerencias anteriores no ayudaron por alguna razón. Sin embargo, descubrí que en Valores predeterminados del proyecto> Estructura del proyecto (pantalla de bienvenida), mi SDK del proyecto predeterminado estaba configurado en el SDK de Go.
Lo que funcionó para mí fue configurar este SDK predeterminado para Java JDK.
fuente
Para mí, había seleccionado el JDK en "Configuración del módulo abierto"> Módulo> Dependencias> SDK del módulo. Sin embargo, SBT estaba buscando JDK a nivel de proyecto, que se establece en "Configuración del módulo abierto"> Proyecto> SDK del proyecto, como @michasm ha señalado anteriormente.
fuente
El último complemento Nightlies of the Scala cambia la forma en que se configura el proyecto JDK, lo que debería resolver esto en la mayoría de los casos. Avíseme si todavía se rompe en algunos casos.
fuente
Esto me sucedió en un proyecto en varios idiomas cuando el SDK del proyecto de mi módulo principal era Python y estaba tratando de agregar un módulo secundario que era JDK (importando un proyecto sbt).
Tuve que cambiar temporalmente el Project SDK del módulo principal a JDK para agregar el módulo sbt. Luego tuve la capacidad de volver atrás y cambiar cada módulo al SDK correcto.
fuente