tutorial intellij idea intellij-idea sbt

intellij idea - intellij - ¿Cuál es el motivo de "Error: no se puede determinar el ejecutable Java VM en el JDK seleccionado"?



intellij idea scala tutorial (10)

Debería poder solucionarlo configurando jdk desde la configuración no desde el diálogo abrir / importar proyecto.

Desde la pantalla de bienvenida, vaya a Configure -> Project defaults -> Project structure Valores Configure -> Project defaults -> Project structure y agregue el jdk.

Abrir el proyecto sbt debería funcionar bien entonces.

Solución encontrada de aquí

Estoy usando IntelliJ IDEA 13.1.4 y también probé la última versión 14.

Ejecutando SBT obtengo 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), se encuentra 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 el motivo de esto?


El último complemento de Nightlies of the Scala cambia la forma en que se establece el proyecto JDK, lo que debería solucionarlo en la mayoría de los casos. Avíseme si todavía se rompe en algunos casos.


El mismo error también ocurre cuando intenta hacer una actualización en "Tareas SBT".

Abierto

Preferences -> Language & Frameworks -> Scala Compiler Server

Encender

Run compile server (in external build mode)

Una vez que hayas terminado de actualizar el proyecto, apágalo nuevamente para habilitar el hotswapping cuando cambies tu código en el editor.


El problema suele ser causado por una versión incorrecta de JDK en ".idea / sbt.xml", por ejemplo:

<option name="jdk" value="1.7" />

Esta opción no se actualiza en consecuencia cuando se modifica el SDK del proyecto, vea SCL-10085 . Si tiene el otro JDK (1.7 en mi ejemplo) generalmente configurado, no se producirá ningún error, pero el SDK del proyecto se volverá a cambiar silenciosamente. De lo contrario, este error ocurre.

El problema se puede resolver fácilmente editando manualmente el valor en ".idea / sbt.xml" a la versión JDK correcta.


IntelliJ 13.1.6> Archivo> Estructura del proyecto> establecer Project SDK


Obtuve el mismo problema después de eliminar Java1.6 y Java1.7 de la configuración del proyecto (con Java8 como valor predeterminado).

Finalmente, resuelvo el problema cambiando la configuración de JVM de SBT a Java personalizada (Configuración -> Compilación, Ejecución, Implementación -> Herramientas de compilación -> SBT).


Otra forma de configurar JDK es desde su configuración actual de módulo / proyecto (para su proyecto actual)

Seleccione Open Module Settings del Open Module Settings desde el menú contextual del proyecto (o presione F4 por defecto),
luego, desde la pestaña izquierda, seleccione Project y apunte el Project SDK correcto en el menú desplegable.


Para mí, las sugerencias anteriores no ayudaron por alguna razón. Sin embargo, me di cuenta de que en Project Defaults> Project Structure (Pantalla de bienvenida) mi Project SDK predeterminado estaba configurado en Go SDK.

Lo que funcionó para mí fue establecer este SDK predeterminado en Java JDK.


Para mí, seleccioné el JDK en "Configuración de módulo abierto"> Módulo> Dependencias> Módulo SDK. Sin embargo, SBT estaba buscando JDK a nivel de proyecto, que se establece en "Configuración de módulo abierto"> Proyecto> Proyecto SDK como lo ha indicado @michasm anteriormente.


Tuve que abrir Settings -> Language & Frameworks -> Scala Compiler Server

A continuación, establezca el JVM SDK allí, que era <No SDK> .

Esto fue además de establecer el Project SDK en Project Structure -> Project .

Ver la captura de pantalla aquí .