J'utilise IntelliJ IDEA 13.1.4 et j'ai également essayé la dernière version 14.
En cours d'exécution SBT, j'obtiens l'erreur suivante:
Error:Cannot determine Java VM executable in selected JDK
J'ai JDK 1.7 installé sur ma machine et sur PATH.
Dans les journaux ( ~/Library/Logs/IntelliJIdea14/idea.log
sur MacOS), il y a la trace de pile suivante:
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)
Quelle peut en être la raison?
intellij-idea
sbt
Zuriar
la source
la source
Project SDK
pour le projet défini. Pourriez-vous vérifier les paramètres du projet pour le projet en question et voir les paramètres sous Projet?Réponses:
Vous devriez être en mesure de le contourner en définissant le jdk à partir des paramètres et non de la boîte de dialogue Ouvrir / importer le projet.
Depuis l'écran de bienvenue, accédez à
Configure -> Project defaults -> Project structure
et ajoutez le fichier jdk.L'ouverture du projet sbt devrait alors bien fonctionner.
Solution trouvée d'ici
la source
Une autre façon de définir JDK consiste à utiliser les paramètres actuels de votre module / projet (pour votre projet actuel)
Choisissez
Open Module Settings
dans le menu contextuel du projet (ou appuyez sur F4 par défaut),puis dans l'onglet de gauche, sélectionnez
Project
et pointez correctementProject SDK
sur la liste déroulante.la source
Le problème est généralement causé par une mauvaise version de JDK dans ".idea / sbt.xml", par exemple:
Cette option n'est pas mise à jour en conséquence lorsque le SDK du projet est modifié, voir SCL-10085 . Si vous avez généralement configuré l'autre JDK (1.7 dans mon exemple), aucune erreur ne se produira, mais le SDK du projet sera rétabli en silence. Sinon, cette erreur se produit.
Le problème peut être facilement résolu en modifiant manuellement la valeur dans ".idea / sbt.xml" dans la bonne version de JDK.
la source
La même erreur se produit également lorsque vous essayez d'effectuer une actualisation dans «Tâches SBT».
Ouvert
Allumer
Une fois que vous avez terminé d'actualiser le projet, désactivez-le à nouveau pour réactiver l'échange à chaud lorsque vous modifiez votre code dans l'éditeur.
la source
Je devais ouvrir
Settings -> Language & Frameworks -> Scala Compiler Server
Ensuite, définissez le SDK JVM là-bas, qui était
<No SDK>
.Cela s'ajoutait à la configuration du SDK de projet dans
Project Structure -> Project
.Voir la capture d'écran ici .
la source
IntelliJ 13.1.6> Fichier> Structure du projet> définir le SDK du projet
la source
J'ai eu le même problème après avoir supprimé Java1.6 et Java1.7 des paramètres du projet (avec Java8 par défaut).
Enfin, je résous le problème en changeant la configuration de SBT JVM en Java personnalisé (Paramètres -> Build, Execution, Deployment -> Build Tools -> SBT).
la source
Pour moi, les suggestions ci-dessus n'ont pas aidé pour une raison quelconque. Cependant, j'ai compris que sous Paramètres par défaut du projet> Structure du projet (écran de bienvenue), mon SDK de projet par défaut était défini sur Go SDK.
Ce qui a fonctionné pour moi a été de définir ce SDK par défaut sur le JDK Java.
la source
Pour moi, j'avais sélectionné le JDK dans "Open Module Settings"> Module> Dependencies> Module SDK. Cependant, SBT recherchait JDK au niveau du projet, qui est défini dans "Ouvrir les paramètres du module"> Projet> Projet SDK comme @michasm l'a souligné ci-dessus
la source
Les derniers Nightlies du plugin Scala changent la façon dont le projet JDK est défini, ce qui devrait résoudre ce problème dans la plupart des cas. Faites-moi savoir si ça casse encore dans certains cas.
la source
Cela m'est arrivé dans un projet multilingue lorsque le SDK de projet de mon module principal était Python et que j'essayais d'ajouter un module secondaire qui était JDK (importation d'un projet sbt).
J'ai dû temporairement basculer le SDK de projet du module principal vers JDK afin d'ajouter le module sbt. J'ai ensuite eu la possibilité de revenir en arrière et de changer chaque module vers le bon SDK.
la source