Frage

Ich habe gerade angefangen mit Scala / LiftWeb / Sbt Entwicklung, und ich möchte ein Sbt Projekt in IntelliJ Idea importieren. Eigentlich habe ich es geschafft, meine Projekt auf zwei verschiedene Arten zu importieren:

1) mit Maven. Ich habe ein Maven-Projekt, und von oben auf, dass ich ein Sbt Projekt erstellt, die ich dann in IntelliJ importiert. Ich konnte dann schnell und problemlos starten, den Anlegestelle Server stoppen, und andere Sachen tun. Aber das ist nicht das, was ich will. Ich möchte die gleichen Sachen tun, nur Maven frei. Das hat mich führen zu

2) mit Eclipse. Also, habe ich ein neues Sbt Projekt (mit einem kleinen Skript, das ich geschrieben habe, das SBT-Projekt Konfiguration ein WebProject zu sein). Ich habe dann die sbt-eclipsify Plugin 'convert' das Projekt für Eclipse, die ich dann in IntelliJ importiert (bestehende Quelle -> Eclipse). Aber die Probleme beginnen hier: Ich kann nicht die IntelliJ Sbt zur Arbeit Plugin bekommen.

Kann mir jemand helfen mit diesem?

War es hilfreich?

Lösung

Es gibt drei grundlegende Möglichkeiten, wie Sie ein Projekt erstellen - moderne Versionen von IntelliJ kann sbt Projekt aus der Box importieren, sonst können Sie entweder sbt Plugin IntelliJ Projekt zu generieren, oder verwenden Sie IntelliJ Scala Plugin sbt Projekt zu erstellen. Grundfunktionen arbeiten aus der Box beiden Lösungen verwendet, baut einige komplexen Probleme haben, versuchen Sie, so dass andere Werkzeuge, um zu sehen, ob es funktioniert es.

IntelliJ

IntelliJ IDEA hat in diesen Tagen so viel besser geworden. Die aktuelle Version (14.0.2) unterstützt sbt Projekte aus der Box mit der Scala-Plugin. Genau das Plugin installieren und Sie sollten ohne Probleme öffnen Scala / sbt Projekte können.

Scala Plugin unter Plugins in den Einstellungen

Mit dem Plugin, nur Punkt zu einem sbt Projekt und IDEA wird Ihnen einen Assistenten bieten, diese Art von Projekt zu öffnen.

Import sbt Projekt

IntelliJ Scala Plugin

IntelliJ Plugin finden Sie hier http://confluence.jetbrains.com/display/SCA/Scala + Plugin + für + IntelliJ IDEA + oder directoly von innerhalb der IDE-Einstellungen installiert werden -> Plugins Dialog. Danach kann man nur Datei tun -> Neues Projekt -> Scala -> SBT basiert. IntelliJ werden grundlegende build.sbt erzeugen, notwendig, Abhängigkeiten und offenes Projekt herunterladen.

SBT Plugin

Sbt-Plugin, das eine Idee Projekt auf den SBT-Dateien erzeugen kann hier gefunden werden: https: // Github .com / mpeltonen / sbt-Idee

SBT 12.0+ & 13.0 +

Einfach addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2") zu Ihrem build.sbt hinzuzufügen; sind keine zusätzlichen Resolver benötigt.

Ältere Versionen:

SBT 0.11 +

Erstellen und fügen Sie die folgenden Zeilen zu ~/.sbt/plugins/build.sbt OR PROJECT_DIR/project/plugins.sbt

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")

Verwenden gen-idea in sbt zu IDEA Projektdateien zu erstellen.

In der Standardeinstellung Klassifizierer (das heißt Quellen und javadocs) von SBT und Bibliotheksabhängigkeiten geladen werden, wenn gefunden und Verweise auf IDEA Projektdateien hinzugefügt. Wenn Sie nicht wollen, zu download / Referenz sie, verwenden Sie den Befehl gen-idea no-classifiers no-sbt-classifiers.


SBT 0.10.1 (Nach dem Plugin Autor, 0.10.0 wird nicht Arbeit!)

Erstellen und fügen Sie die folgenden Zeilen zu ~ / .sbt / plugins / build.sbt:

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

libraryDependencies += "com.github.mpeltonen" %% "sbt-idea" % "0.10.0"

Mit gen-idea sbt Aufgabe IDEA Projektdateien zu erstellen.

In der Standardeinstellung Klassifizierer (das heißt Quellen und javadocs) von SBT und Bibliotheksabhängigkeiten geladen werden, wenn gefunden und Verweise auf IDEA Projektdateien hinzugefügt. Wenn Sie nicht wollen, zu download / Referenz sie, verwenden Sie den Befehl gen-idea no-classifiers no-sbt-classifiers.


SBT 0.7

Um es zu nutzen, führen Sie einfach diese von Ihrem sbt Shell, wird es das Plugin als externes Programm verwenden:

 > *sbtIdeaRepo at http://mpeltonen.github.com/maven/
 > *idea is com.github.mpeltonen sbt-idea-processor 0.4.0
 ...
 > update
 ...
 > idea
 ...

Sie können auch Eigenschaft in Ihrer Projektdefinition hinzufügen, wie Sie wollen:

import sbt._
class MyProject(info: ProjectInfo) extends ParentProject(info) with IdeaProject {
  lazy val mySubProject = project("my-subproject", "my-subproject", new DefaultProject(_) with IdeaProject)
   // ...
}

Andere Tipps

jetzt mache ich das von Hand. Es ist ganz einfach.

  1. Erstellen Sie das Projekt mit SBT
  2. Erstellen Sie ein neues IDEA-Projekt mit dem gleichen Stammpfad
  3. Erstellen Sie ein Modul mit dem gleichen Wurzelpfad
  4. Set src / main / scala als src Pfad auf dem Modul
  5. Set src / test / scala als Testpfad auf dem Modul
  6. Fügen Sie scala-library.jar als Bibliothek
  7. Fügen Sie lib (falls vorhanden) als jar-Verzeichnis innerhalb einer Modulbibliothek
  8. Fügen Sie lib_managed / Kompilierung (falls vorhanden) als jar-Verzeichnis innerhalb einer Modulbibliothek
  9. Fügen Sie lib_managed / Test (falls vorhanden) als jar-Verzeichnis innerhalb einer Modulbibliothek

Das ist es aus dem Speicher. Es wäre besser, wenn sie automatisiert wurden, aber es ist keine große Sache, wie es jetzt ist.

Ein Wort der Warnung: Der obige Ansatz funktioniert nicht gut mit Newschool sbt, das heißt Versionen 0.10 und höher, weil es nicht kopieren nicht Abhängigkeiten in standardmäßig lib_managed. Sie können hinzufügen

retrieveManaged := true

Ihren build.sbt macht es die Abhängigkeiten in lib_managed kopieren.

Tempus fugit und IntelliJ IDEA hat in diesen Tagen so viel besser geworden. Es ist 2015 schließlich ist es nicht?

Having said that, die neueste Version von IntelliJ IDEA 14.0.2 unterstützt sbt Projekte aus der Box mit der Scala-Plugin . Genau das Plugin installieren und Sie sollten ohne große Schwierigkeiten öffnen Scala / sbt Projekte können.

Scala Plugin unter Plugins in den Einstellungen

Ich bin mit der Early Access-Version des Plug-in, die 1.2.67.6.EAP ab den Zeitpunkt des Schreibens ist.

Mit dem Plugin nur Punkt an einem sbt Projekt und IDEA wird Ihnen einen Assistenten bieten, diese Art von Projekt zu öffnen.

Import sbt Projekt

Über sbt-Idee in sbt 0.12.4

Für sbt 0.12.4 die systemweite Konfigurationsdatei Plugin - ~/.sbt/plugins/build.sbt oder PROJECT_DIR/project/plugins.sbt - sollte die folgenden Zeilen haben:

resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"

addSbtPlugin(dependency="com.github.mpeltonen" % "sbt-idea" % "1.5.0-SNAPSHOT")

Ausführen sbt gen-idea IDEA Projektdateien zu erzeugen.

Lesen Sie die sbt-Idee Plugin Website für mehr up-to-date Informationen. Sie können sich auch mein Blog-Eintrag Importieren von sbt-basierten Projekt zu IntelliJ IDEA 13 (mit sbt-Idee, Scala 2.11 und sbt 0,12) nützlich.

Für sbt 0.7

die Antwort an andere Stelle auf dieser Seite .

Für sbt 0,10

Klonen und bauen Ismael sbt-Idee:

git clone https://github.com/ijuma/sbt-idea.git
cd sbt-idea
git checkout sbt-0.10
./sbt package

Eine sbt Plugin lib wenn Sie noch keines haben

mkdir -p  ~/.sbt/plugins/lib

Kopieren Sie das Glas im ersten Schritt aufgebaut in hier

cp sbt-idea/target/scala-2.8.1.final/*.jar ~/.sbt/plugins/lib

Neustart oder Reload sbt, dann können Sie laufen gen-idea

(oder gen-idea with-classifiers wenn Sie Quellen und javadoc in IntelliJ zu wollen)

Quelle: Tacker Vorschlag auf der Nachrichtengruppe .

In IntelliJ IDEA 13.x selbst

können Sie öffnen ein-SBT basiertes Projekt in IDEA heute. Es wird die notwendige Projekt und Module erstellen, und halten Sie Ihre Abhängigkeiten up-to-date, wenn Sie Änderungen an den Build-Skripte zu machen.

Ich ging gerade durch all diese Schmerzen. Ich verbringe Tage damit eine akzeptable Umwelt aufzustehen und sind zu dem Schluss gekommen, dass ENSIME, SBT und JRebel werden meine Entwicklungsumgebung für einige Zeit sein. Ja, es geht zurück nach Emacs, aber ENSIME verwandelt es in etwas oder eine Idee mit Refactoring, Debugging-Unterstützung, Navigation, etc. Es ist nicht bei weitem nicht so gut wie von Eclipse (Java), aber es sei denn, die scala Plugins besser funktionieren, es ist die beste, was wir haben.

Bis in die Scala Entwicklungsumgebungen mit bis zu Schnupftabak (Eclipse oder IntelliJ) Ich werde nicht stören. Sie sind einfach viel zu fehlerhaft.

Siehe auch die Diskussion über die Lift-Website.

http://groups.google.com/group/liftweb/browse_thread / thread / 6e38ae7396575052 #

In diesem Thread gibt es einen Link zu einer HOWTO für IntelliJ, aber obwohl es irgendwie funktioniert, gibt es viele Probleme, die es etwas weniger als nützlich machen.

http://blog.morroni.com/2010/07/14/setup-intellij-9-for-lift-framework-development/comment-page-1/

Die Antworten sind alt für das Jahr 2014. In IntelliJ 13.x , das Plugin Scala ist ver 0.41.2 (SBT ist im Preis inbegriffen).

Mein SBT-Version ist 0.13.5 (Klemme: sbt sbtVersion)

Gehen Sie zu der Stammordner des Projekts und geben Sie im Terminal

sbt idea

Sie werden sehen, zwei neue versteckte Ordner .idea und .idea_modules .

Dann in IntelliJ, Datei> Öffnen> das Projekt auswählen. Es sollte das Projekt ohne Probleme öffnen.

, bevor Sie beginnen Ihre SBT-Projekt erstellen, stellen Sie sicher, dass das Scala-Plugin heruntergeladen und aktiviert in IntelliJ IDEA.

Link unten erklärt alles was Sie wissen müssen.

https://www.jetbrains.com/ Hilfe / Idee / 2016,1 / getting-started-mit-sbt.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top