webentwicklung-frage-antwort-db.com.de

IntelliJ kann sbt-Projekt nicht importieren

Ich habe IntelliJ von CE 2017.2.5 auf Version CE 2017.3 aktualisiert und kann mein sbt-Projekt jetzt nicht erstellen. Der Build bleibt beim ersten Schritt hängen:

"Build: sync
  MyProjName: syncing...
   dump project structure from sbt"

Ich habe das .idea-Verzeichnis und das MyProjName/project/target - Verzeichnis gelöscht. Ich habe einen sbt-Build über die Befehlszeile erstellt, der funktioniert hat. Dann habe ich IntelliJ erneut gestartet und versucht, MyProjName/build.sbt Als Projekt zu importieren. Ich habe mich auch abgemeldet/angemeldet. Hab das mehrmals gemacht. Der Import wird über diesen Schritt hinaus niemals fortgesetzt.

Ich arbeite hinter einer Firewall, aber ich habe meine Proxy-Einstellungen überprüft, und sie sind korrekt und unverändert gegenüber der vorherigen Version (falls dies von Bedeutung ist).

Wie kann ich dieses Problem beheben?

Die sbt-Version ist 0.13.6. Scala Plugin 2017.3.10.

Aus dem Protokoll:

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) 
57
radumanolescu

Ich habe das Synchronisierungsproblem folgendermaßen gelöst: https://youtrack.jetbrains.com/issue/SCL-13024

Die wichtigsten Informationen lauten: "Es scheint, dass sbt versucht, 'sources' und 'docs' für sbt-Plug-ins, die überhaupt nicht verfügbar sind, neu aufzulösen. Wenn die Eigenschaften zum Herunterladen von" Library sources "und" sbt sources "deaktiviert sind, ist time to deaktiviert Dump die Struktur wird von "für immer" auf weniger als 1 Minute reduziert. "

Deaktivieren Sie in IntelliJ IDEA das Kontrollkästchen "Library sources" unter "Project level settings" für Build Tools sbt in den Einstellungen IDEA. Wie in der folgenden Abbildung dargestellt:

enter image description here

63
civic.LiLister

Ich konnte das nur umgehen, indem ich sbt clean compile in der SBT-Konsole/cmd-Zeile, und aktualisieren Sie dann das SBT-Projekt in IntelliJ.

12
JPotts

Ich habe in IntelliJ Idea CE 2017.3 keine Möglichkeit gefunden, diese Funktion zu nutzen. Daher bin ich zu CE 2017.2.5 zurückgekehrt

6
radumanolescu

IntelliJ scheint die Effizienz des bereits langsamen sbt update Einzuschränken. Ich empfehle stattdessen sbt-coursier . Es wurde speziell geschrieben, um die Aktualisierungszeit für Abhängigkeiten zu verbessern, und bei einem großen Projekt, an dem ich beteiligt bin, wurde die Aktualisierungszeit für Abhängigkeiten um etwa 2 Größenordnungen verbessert.

  1. Deaktivieren Sie "Auto-Import verwenden" in Preferences > Build, Execution, Deployment > Build Tools > sbt, Um zu verhindern, dass IntelliJ Importe automatisch aktualisiert

enter image description here

  1. Fügen Sie addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.3") zur build.sbt - Datei Ihres Projekts hinzu
    • Oder installieren Sie es global in ~/.sbt/1.0/plugins/build.sbt
  2. Führen Sie sbt update In der Befehlszeile aus

Wenn Sie [error] Java.lang.NoClassDefFoundError: org/vafer/jdeb/Console Sehen, fügen Sie Folgendes zu ~/.sbt/1.0/sbt-coursier.sbt Hinzu.

import coursier.Keys._
classpathTypes += "maven-plugin"

Weitere Informationen zu diesem Fehler finden Sie unter Coursier-Ausgabe Nr. 45 .

  1. (Optional) Aktivieren Sie den automatischen Import ab Schritt 1 erneut, da nachfolgende Transaktionsabhängigkeitsaktualisierungen möglicherweise schneller sind.
5
Cory Klein

Was für mich funktionierte, war, den Speicher für SBT in IntelliJ zu vergrößern. Auf meinem Mac: Präferenz -> Build, Ausführung, Depoyment -> sbt ändern Sie dann "Maximale Heap-Größe" von 768 MB auf 2048 MB und nach wenigen Minuten wurde alles erfolgreich importiert.

4
marios

Ich habe das gleiche Problem! Ich lösche das Verzeichnis ~/.sbt/0.13, dann funktioniert es. Sie können das von Ihnen verwendete sbt-Verzeichnis löschen.

4
xiang liu
  • Öffnen Sie ein Terminal in IDEA durch Drücken von AltF12 oder benutze sbt Shell
  • Führe sbt aus - wenn es das erste Mal ist, wird es einige Zeit dauern.
  • Führe clean aus
  • Führen Sie compile aus - Abhängigkeiten, die Sie in Ihrem Projekt haben, werden heruntergeladen.
  • Schließen IDEA project (File -> Close Project) und öffne es erneut.

Hinweis: Wenn Sie zum Importieren aufgefordert werden, aktivieren Sie Enable auto-import, wenn Sie es nicht aktiviert lassen möchten (wie ich), drücken Sie Import, brechen Sie die Synchronisierung ab und dann Refresh sbt project nochmal. Wenn Sie versuchen, den Import mitten in einer Synchronisierung zu verwenden, bleibt er bei der Dump-Projektstruktur der sbt-Nachricht hängen.

Das Refresh sbt project befindet sich in dieser Ecke des Build Sync-Fensters - hervorgehoben unten: Refresh sbt project

3
Marcio Tedesco

Hatte ein älteres ausgechecktes Projekt, das dieses Problem verursacht. Hat das übliche rm -rf .idea + erneut importieren, aber es blieb stecken. Ich habe alle möglichen Dinge ausprobiert, aber als ich das Problem endgültig behoben habe, wurde nicht nur der Ordner target auf oberster Ebene gelöscht, sondern es wurde stattdessen ausgeführt

find . -name target -type d -exec rm -rf {} \;

Das nächste Öffnen/Importieren verlief einwandfrei. (Dies war am 2018.1.5, 2018.1.6 und 2018.2 RC.)

1
nibblonian

Benutzerdefinierte SBT-Version funktioniert bei mir.

IntelliJ IDEA Preferences -> Build, Execution, Deployment -> Buildtools -> sbt -> Launcher

Wählen Sie Benutzerdefiniert

custom sbt screenshot

1
Huang Zehai

Ich überprüfe einfach use sbt Shell for both build and imports hat funktioniert.

1
orhaneee

Einfach das Deaktivieren von 'sbt sources' hat den Trick für mich getan

0

Ich war auch mit diesem Problem konfrontiert. Unten haben zwei Konfigurationen für mich funktioniert. Ich habe versucht, diese Einstellung in vielen neuen sbt-Projekten zu bestätigen, obwohl alles funktioniert hat.

(1) Deaktivieren Sie "Library sources" unter "Project level settings" für Build Tools sbt in IDEA preferences (2) -Dhttp.nonProxyHosts = "Host1 | Host2" Option in File> Settings> Build , Excution, Deployment> sbt> VM parameter

0
Rohit

Ich habe nach dem Upgrade von intelliJ auf 2017.3 unter denselben Problemen gelitten, aber jetzt funktioniert es einwandfrei.

Ich denke, Intellij konnte die Option ' Kein Proxy für ' nicht an sbt übergeben. also fügte ich hinzu

-Dhttp.nonProxyHosts = "Host1 | Host2"

option in Datei> Einstellungen> Erstellen, Ausführen, Bereitstellen> sbt> VM Parameter

0
Hsun