Après avoir changé mon fichier build.sbt
dans IntelliJ, je reçois ce rapport d'erreur étrange où il apparaît que des "clés" (je ne sais pas ce que sont ces clés) entrent en collision avec elles-mêmes. La recherche de ce message d'erreur ne trouve que les demandes d'extraction github dans lesquelles des personnes demandent aux responsables de la maintenance de la bibliothèque de préfixer leurs clés pour éviter les conflits de clés. Comment ces clés IntelliJ intégrées peuvent-elles entrer en collision avec elles-mêmes? Cela n'a aucun sens. Voici l'extrait de la trace de la pile:
Java.lang.RuntimeException: Some keys were defined with the same name but different types:
'ssExtractBuild' (sbt.Task[org.jetbrains.sbt.structure.BuildData], sbt.Task[org.jetbrains.sbt.structure.BuildData]),
'settingData' (sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.SettingData]], sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.SettingData]]),
'taskData' (sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.TaskData]], sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.TaskData]]),
'extractStructure' (sbt.Task[org.jetbrains.sbt.structure.StructureData], sbt.Task[org.jetbrains.sbt.structure.StructureData]),
'ssExtractDependencies' (sbt.Task[org.jetbrains.sbt.structure.DependencyData], sbt.Task[org.jetbrains.sbt.structure.DependencyData]),
'ssExtractProjects' (sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.ProjectData]], sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.ProjectData]]),
'ssExtractAndroid' (sbt.Task[scala.Option[org.jetbrains.sbt.structure.AndroidData]], sbt.Task[scala.Option[org.jetbrains.sbt.structure.AndroidData]]),
'ssExtractRepository' (sbt.Task[scala.Option[org.jetbrains.sbt.structure.RepositoryData]], sbt.Task[scala.Option[org.jetbrains.sbt.structure.RepositoryData]]),
'ssOptions' (org.jetbrains.sbt.Options, org.jetbrains.sbt.Options),
'commandData' (sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.CommandData]], sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.CommandData]]),
'ssExtractProject' (sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.ProjectData]], sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.ProjectData]]),
'ssExtractPlay2' (sbt.Task[scala.Option[org.jetbrains.sbt.structure.Play2Data]], sbt.Task[scala.Option[org.jetbrains.sbt.structure.Play2Data]])
Et la trace complète de la pile est ici: https://Pastebin.com/ymZvgMCj
Cela s'est produit après que j'ai ajouté une dépendance à mon build.sbt
. J'ai d'abord pensé que c'était le problème et j'ai essayé de le supprimer, mais maintenant, mon build.sbt
ne fonctionne même pas dans son état précédent! J'ai effacé le cache de mon intellij, redémarré, supprimé mon dossier .idea
dans ce projet et réimporté l'intégralité du projet dans intellij, et j'ai toujours le même problème. Qu'est-ce qui aurait pu se passer entre la dernière fois que j'ai changé mon build.sbt
et maintenant que le projet serait cassé de la sorte?
Moi aussi j'ai eu le même problème, je l'ai "corrigé" en analysant et en réinstallant IntelliJ.
Version Intellij: IntelliJ IDEA 2017.2.5 Version n ° IU-172.4343.14 Version du plug-in Scala: 2017.2.13
Les étapes qui n'ont pas fonctionné
Aller à
Preference -> Build, Execution, Deployment
-> SBT
-> check "Use SBT Shell for build and import"
-> Press OK
Vous pouvez maintenant actualiser les projets SBT et cela devrait fonctionner. si vous voulez, vous pouvez décocher "Utiliser SBT Shell pour construire et importer" et cela fonctionnera
J'avais juste la même erreur avec la dernière version 2017.3 EAP de Idea . Je ne pouvais pas importer un projet et j'ai la même erreur . Le correctif pour moi était de changer de branche, d'importer le projet (qui réussi), puis revenez à la branche d'origine et réimportez le projet dans Idea (cliquez sur le bouton d'actualisation de sbt).
Il n’ya jamais eu de problème d’exécution de sbt dans un terminal, seulement dans Idea . Cela ressemble à un problème d’Idée ...
Dans mon cas, j'avais un module python. Renommé en externe et intellij ne parvient à rien à faire avec la structure des modules. Y compris sbt rafraichir.
Utiliser sbt Shell n'a pas résolu le problème. Invalider le cache et redémarrer n'aidait pas aussi.
J'ai à supprimer le sbt.xml
dans le dossier projet/.idea .
Cela effacera vos paramètres sbt actuels. Ce n'était pas une offre puisque sbt ne fonctionnait pas du tout.
J'ai également rencontré ce problème lorsque j'ai développé Spark avec Intellij Idea et je résous ce problème en remplaçant "Fichier -> Paramètres -> Outils de construction -> sbt -> Modules de groupe" par "en utilisant des noms qualifiés"
et cochez la case "Fichier -> Paramètres -> Outils de construction -> sbt -> Utiliser sbt Shell pour construire et importer".