J'ai mis à niveau IntelliJ vers la version CE 2017.3 à partir d'un CE 2017.2.5 et je ne peux plus construire mon projet sbt. La construction est bloquée sur la première étape:
"Build: sync
MyProjName: syncing...
dump project structure from sbt"
J'ai supprimé le répertoire .idea et le répertoire MyProjName/project/target
. J'ai fait une compilation sbt à partir de la ligne de commande, ce qui a fonctionné. Ensuite, j'ai relancé IntelliJ et essayé d'importer MyProjName/build.sbt
en tant que projet. Je me suis également déconnecté/connecté. Je l'ai fait plusieurs fois. L'importation ne dépasse jamais cette étape.
Je travaille derrière un pare-feu, mais j'ai vérifié mes paramètres de proxy, qui sont corrects et inchangés par rapport à la version précédente (le cas échéant).
Comment puis-je résoudre/résoudre ce problème?
La version sbt est 0.13.6. Scala plugin 2017.3.10.
À partir du journal:
IDE: IntelliJ IDEA (build #IC-173.3727.127, 27 Nov 2017 09:32)
OS: Windows 7 (6.1, AMD64)
JRE: 1.8.0_152-release-1024-b6 (JetBrains s.r.o)
JVM: 25.152-b6 (OpenJDK 64-Bit Server VM)
J'ai résolu le problème de synchronisation en suivant les informations ici: https://youtrack.jetbrains.com/issue/SCL-13024
L'information clé est "Il semble que sbt tente de resoudre les" sources "et" docs "des plugins sbt qui ne sont pas disponibles du tout. Si les propriétés permettant de télécharger les" sources de la bibliothèque "et les" sources de sbt "sont désactivées, vider la structure est réduite de "pour toujours" à moins de 1 minute. "
C’est-à-dire que dans IntelliJ IDEA, décochez la case "Sources de la bibliothèque" sous "Paramètres de niveau projet" pour Build Tools sbt dans les préférences IDEA. Comme indiqué dans l'image ci-dessous:
Le seul moyen de contourner ce problème consiste à exécuter d'abord sbt clean compile
dans la ligne console/cmd de SBT, puis à actualiser le projet SBT dans IntelliJ.
Je n'ai pas trouvé le moyen de faire fonctionner cela dans IntelliJ Idea CE 2017.3, je suis donc revenu à CE 2017.2.5
IntelliJ semble limiter l'efficacité du sbt update
déjà lent. Je recommande d'utiliser sbt-coursier à la place. Il a été spécialement conçu pour améliorer le temps de mise à jour des dépendances. Sur un grand projet, je participe à l'amélioration du temps de mise à jour des dépendances d'environ 2 ordres de grandeur.
Preferences > Build, Execution, Deployment > Build Tools > sbt
pour empêcher IntelliJ de mettre à jour automatiquement les importationsaddSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.3")
au fichier build.sbt
de votre projet ~/.sbt/1.0/plugins/build.sbt
sbt update
sur la ligne de commandeSi vous voyez [error] Java.lang.NoClassDefFoundError: org/vafer/jdeb/Console
, ajoutez ce qui suit à ~/.sbt/1.0/sbt-coursier.sbt
.
import coursier.Keys._
classpathTypes += "maven-plugin"
Voir numéro de cours 45 pour plus d'informations sur cette erreur.
Ce qui a fonctionné pour moi a été d’augmenter la mémoire de SBT dans IntelliJ. Sur mon Mac: préférence -> Construire, Exécution, Dépannage -> sbt puis changez la "Taille maximale du tas" de 768 Mo à 2048 Mo, puis tout a été importé avec succès après quelques minutes.
Je rencontre le même problème! je supprime le répertoire ~/.sbt/0.13, alors cela fonctionne. Vous pouvez supprimer le répertoire sbt que vous avez utilisé.
sbt
- si c'est la première fois, cela prendra du temps.clean
compile
- il téléchargera les dépendances que vous avez dans votre projet.File
-> Close Project
) et rouvrez-le. Remarque: s'il demande d'importer dans le coin inférieur droit de l'écran, activez Enable auto-import
, si vous n'aimez pas le laisser activé (comme moi) appuyez sur Import
, annulez la synchronisation, puis à nouveau Refresh sbt project
. Lorsque vous essayez d'utiliser l'import au milieu d'une synchronisation, il reste bloqué avec la structure du projet de vidage du message sbt .
Le Refresh sbt project
se trouve dans ce coin de la fenêtre Construire la synchronisation - mis en évidence ci-dessous:
Avait un ancien projet extrait provoquant ce problème. Est-ce que le rm -rf .idea
+ habituel a été réimporté, mais il est resté bloqué. J'ai essayé toutes sortes de choses, mais quand finalement résolu le problème pour moi, il ne s'agissait pas simplement de supprimer le dossier de niveau supérieur target
, mais de le supprimer.
find . -name target -type d -exec rm -rf {} \;
La prochaine ouverture/importation s'est parfaitement déroulée. (C'était en 2018.1.5, 2018.1.6 et 2018.2 RC.)
La version personnalisée SBT fonctionne pour moi.
IntelliJ IDEA Préférences -> Construction, exécution, déploiement -> Outils de construction -> sbt -> Lanceur
Choisissez Personnalisé
Pour moi, vérifier simplement use sbt Shell for both build and imports
a fonctionné.
Décocher simplement 'sources sbt' a fait l'affaire pour moi
Je faisais également face à ce problème. Ci-dessous deux configurations ont fonctionné pour moi. J'ai essayé de confirmer ce paramètre dans de nombreux nouveaux projets sbt, pour autant que cela fonctionne.
(1) décochez "Sources de la bibliothèque" sous "Paramètres au niveau du projet" pour Build Tools sbt dans IDEA preferences (2) -Dhttp.nonProxyHosts = Option "Host1 | Host2" dans Fichier> Paramètres> Construction, Exécution, Déploiement> sbt> VM paramètres
J'ai eu les mêmes problèmes après la mise à niveau d'intelliJ jusqu'en 2017.3 Mais cela fonctionne bien maintenant.
Je pense qu'intelliJ ne pouvait pas passer l'option ' Pas de proxy pour ' à sbt. alors j'ai ajouté
-Dhttp.nonProxyHosts = "Host1 | Host2"
option dans Fichier> Paramètres> Construire, Excution, Déploiement> sbt> Paramètres VM