Ich habe gerade mit der Entwicklung von Scala / LiftWeb / Sbt begonnen und möchte ein Sbt-Projekt in IntelliJ Idea importieren. Eigentlich konnte ich mein Projekt auf zwei verschiedene Arten importieren:
1) mit Maven. Ich habe ein Maven-Projekt erstellt und darüber hinaus ein Sbt-Projekt erstellt, das ich dann in IntelliJ importiert habe. Ich könnte dann leicht starten, den Steg-Server stoppen und andere Dinge tun. Aber das will ich nicht. Ich möchte das Gleiche tun, nur Maven-frei. Das hat mich dazu geführt
2) mit Eclipse. Also habe ich ein neues Sbt-Projekt erstellt (mit einem kleinen Skript, das ich geschrieben habe und das Sbt-Projekt als WebProject konfiguriert hat). Ich habe dann das sbt-eclipsify-Plugin verwendet, um das Projekt für Eclipse zu "konvertieren", das ich dann in IntelliJ (vorhandene Quelle -> Eclipse) importiert habe. Aber die Probleme begannen hier: Ich kann das IntelliJ Sbt-Plugin nicht zum Laufen bringen.
Kann mir jemand dabei helfen?
quelle
Antworten:
Es gibt drei grundlegende Möglichkeiten, ein Projekt zu erstellen: Moderne Versionen von IntelliJ können sbt-Projekte sofort importieren. Andernfalls können Sie entweder das sbt-Plugin zum Generieren eines IntelliJ-Projekts oder das IntelliJ Scala-Plugin zum Erstellen eines sbt-Projekts verwenden. Grundlegende Funktionen funktionieren sofort mit beiden Lösungen. Bei einigen komplexen Builds können Probleme auftreten. Probieren Sie daher andere Tools aus, um festzustellen, ob sie dort funktionieren.
IntelliJ
IntelliJ IDEA ist heutzutage so viel besser geworden. Die aktuelle Version (14.0.2) unterstützt sofort sbt-Projekte mit dem Scala-Plugin. Installieren Sie einfach das Plugin und Sie sollten in der Lage sein, Scala / sbt-Projekte ohne Probleme zu öffnen.
Zeigen Sie mit dem Plugin einfach auf ein sbt-Projekt, und IDEA bietet Ihnen einen Assistenten zum Öffnen dieser Art von Projekten an.
IntelliJ Scala Plugin
Das IntelliJ-Plugin finden Sie hier http://confluence.jetbrains.com/display/SCA/Scala+Plugin+for+IntelliJ+IDEA oder kann direkt in der IDE über das Dialogfeld Einstellungen -> Plugins installiert werden. Danach kann man einfach Datei -> Neues Projekt -> Scala -> SBT-basiert machen. IntelliJ generiert grundlegende build.sbt, lädt die erforderlichen Abhängigkeiten herunter und öffnet das Projekt.
SBT Plugin
Das Sbt-Plugin, das ein Ideenprojekt basierend auf den Sbt-Dateien generiert, finden Sie hier: https://github.com/mpeltonen/sbt-idea
SBT 12.0+ & 13.0+
Fügen Sie einfach
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2")
zu Ihrem hinzubuild.sbt
; Es werden keine zusätzlichen Resolver benötigt.Ältere Versionen:
SBT 0.11+
Erstellen Sie die folgenden Zeilen und fügen Sie sie zu
~/.sbt/plugins/build.sbt
OR hinzuPROJECT_DIR/project/plugins.sbt
Verwenden Sie
gen-idea
in sbt, um IDEA-Projektdateien zu erstellen.Standardmäßig werden Klassifizierer (dh Quellen und Javadocs) von sbt- und Bibliotheksabhängigkeiten geladen, wenn sie gefunden und Referenzen zu IDEA-Projektdateien hinzugefügt werden. Wenn Sie sie nicht herunterladen / referenzieren möchten, verwenden Sie den Befehl
gen-idea no-classifiers no-sbt-classifiers
.SBT 0.10.1 (laut Plugin-Autor funktioniert 0.10.0 nicht !)
Erstellen Sie die folgenden Zeilen und fügen Sie sie zu ~ / .sbt / plugins / build.sbt hinzu:
Verwenden Sie die
gen-idea
sbt-Aufgabe, um IDEA-Projektdateien zu erstellen.Standardmäßig werden Klassifizierer (dh Quellen und Javadocs) von sbt- und Bibliotheksabhängigkeiten geladen, wenn sie gefunden und Referenzen zu IDEA-Projektdateien hinzugefügt werden. Wenn Sie sie nicht herunterladen / referenzieren möchten, verwenden Sie den Befehl
gen-idea no-classifiers no-sbt-classifiers
.SBT 0.7
Um es zu verwenden, führen Sie dies einfach über Ihre sbt-Shell aus. Das Plugin wird als externes Programm verwendet:
Sie können Ihrer Projektdefinition auch beliebige Merkmale hinzufügen:
quelle
Im Moment mache ich das von Hand. Es ist ganz einfach.
Das war's aus dem Gedächtnis. Es wäre besser, wenn es automatisiert wäre, aber es ist keine große Sache, wie es jetzt ist.
Ein Hinweis zur Vorsicht: Der obige Ansatz funktioniert nicht gut mit sbt der neuen Schule, dh Versionen 0.10 und neuer, da Abhängigkeiten standardmäßig nicht in lib_managed kopiert werden. Du kannst hinzufügen
in Ihre build.sbt, damit die Abhängigkeiten in lib_managed kopiert werden.
quelle
Tempus Fugit und IntelliJ IDEA sind heutzutage so viel besser geworden. Es ist doch 2015, nicht wahr?
Having said that, die neueste Version von IntelliJ IDEA 14.0.2 unterstützt Projekte aus der Box mit SBT der Scala - Plugin . Installieren Sie einfach das Plugin und Sie sollten in der Lage sein, Scala / sbt-Projekte ohne große Probleme zu öffnen.
Ich verwende die Early Access-Version des Plugins, die zum Zeitpunkt des Schreibens 1.2.67.6.EAP ist.
Mit dem Plugin zeigen Sie einfach auf ein sbt-Projekt und IDEA bietet Ihnen einen Assistenten zum Öffnen dieser Art von Projekt.
Über sbt-idea in sbt 0.12.4
Für sbt 0.12.4 sollte die systemweite Plugin-Konfigurationsdatei -
~/.sbt/plugins/build.sbt
oderPROJECT_DIR/project/plugins.sbt
- die folgenden Zeilen enthalten:Ausführen
sbt gen-idea
, um IDEA-Projektdateien zu generieren.Weitere Informationen finden Sie auf der Website des sbt-idea-Plugins . Vielleicht finden Sie auch meinen Blogeintrag Importieren eines sbt-basierten Projekts in IntelliJ IDEA 13 (mit sbt-idea, Scala 2.11 und sbt 0.12) hilfreich.
quelle
Für sbt 0.7
Siehe die Antwort an anderer Stelle auf dieser Seite .
Für sbt 0.10
Klone und baue Ismaels sbt-Idee:
Erstellen Sie ein sbt-Plugin-lib-Verzeichnis, falls Sie noch keines haben
Kopieren Sie das in Schritt 1 eingebaute Glas hierher
Starten Sie sbt neu oder laden Sie sbt neu, dann können Sie es ausführen
gen-idea
(odergen-idea with-classifiers
wenn Sie Quellen und Javadoc auch in IntelliJ möchten)Quelle: Vorschlag der Tacker zur Nachrichtengruppe .
In IntelliJ IDEA 13.x selbst
Sie können heutzutage in IDEA ein SBT-basiertes Projekt eröffnen. Es erstellt das erforderliche Projekt und die erforderlichen Module und hält Ihre Abhängigkeiten auf dem neuesten Stand, wenn Sie Änderungen an den Build-Skripten vornehmen.
quelle
Ich habe gerade all diesen Schmerz durchgemacht. Ich verbringe Tage damit, eine akzeptable Umgebung zu schaffen, und bin zu dem Schluss gekommen, dass ENSIME, SBT und JRebel für einige Zeit meine Entwicklungsumgebung sein werden. Ja, es geht zurück zu Emacs, aber ENSIME verwandelt es in ein bisschen oder eine Idee mit Refactoring, Debugging-Unterstützung, Navigation usw. Es ist bei weitem nicht so gut wie Eclipse (Java), aber es sei denn, die Scala-Plugins funktionieren besser am besten wir haben.
Bis die Scala-Entwicklungsumgebungen auf Schnupftabak (Eclipse oder IntelliJ) kommen, werde ich mich nicht darum kümmern. Sie sind einfach viel zu fehlerhaft.
Siehe die Diskussion auf der Aufzugsstelle.
http://groups.google.com/group/liftweb/browse_thread/thread/6e38ae7396575052#
Innerhalb dieses Threads gibt es einen Link zu einem HOWTO für IntelliJ, aber obwohl es irgendwie funktioniert, gibt es viele Probleme, die es etwas weniger nützlich machen.
http://blog.morroni.com/2010/07/14/setup-intellij-9-for-lift-framework-development/comment-page-1/
quelle
Die Antworten sind alt für 2014. In IntelliJ 13.x ist das Plugin Scala Version 0.41.2 (SBT ist enthalten).
Meine SBT - Version ist 0.13.5 (Klemme:
sbt sbtVersion
)Gehen Sie zum Stammordner des Projekts und geben Sie das Terminal ein
Sie sehen zwei neue versteckte Ordner .idea und .idea_modules .
Wählen Sie dann in IntelliJ Datei> Öffnen> das Projekt aus. Es sollte das Projekt ohne Probleme öffnen.
quelle
Stellen Sie vor dem Erstellen Ihres SBT-Projekts sicher, dass das Scala-Plugin in IntelliJ IDEA heruntergeladen und aktiviert ist.
Der folgende Link erklärt alles, was Sie wissen müssen.
https://www.jetbrains.com/help/idea/2016.1/getting-started-with-sbt.html
quelle