2014-03-05 13 views
13

Ich habe ein SBT-ProjektDebuggen SBT-Projekt mit Spielen in IntelliJ IDEA

in diesem Projekt i ein Teilspiel Projekt und andere Projekte

Beispiel aus meiner Build-Datei:

lazy val subProj1 = Project(id = "sub-proj-1", base = file("sub1")) 
.settings(...)... 

lazy val subProjPlay = play.Project("play-proj", 1.0 , path = file("web")) 

Notwendigkeit um den Play Server von IntelliJ IDEA zu debuggen.

Um das Projekt auszuführen, verwende ich sbt run in der Befehlszeile.

Wie kann ich das Projekt in IDEA debuggen?

Antwort

24

fand ich dies die einfachste Lösung sein: (unter Verwendung von IntelliJ IDEA)

in IntelliJ:

Gehen Sie zu "bearbeiten Lauf-Konfigurationen"

enter image description here

eine neue Remote-Konfiguration erstellen (Port 9999, alle anderen Details werden mit Standardwerten belassen)

enter image description here

zu IntelliJ Gehen Sie zurück und die neue Debug-Konfiguration laufen (vergessen Sie nicht, einen Haltepunkt zu setzen)

Von der Kommandozeile aus:

sbt -jvm-debug 9999 run 
+1

Die besten darüber wird man es für jede Anwendung verwenden können, die auf Jvm läuft. Z.B. maven build, tests, remote application server ... –

2

Vorausgesetzt, Sie spielen Verteilung lokal installiert haben, Verwenden Sie play debug run in der Befehlszeile und stellen Sie eine Verbindung zu localhost über den Port 9999 in IDEA her.

Von Debugging section in Using the Play console im offiziellen Spiel 2.2.x Dokumentation:

können Sie spielen, fragen Sie einen JPDA Debug-Port zu starten, wenn die Konsole zu starten. Sie können dann eine Verbindung mit dem Java-Debugger herstellen. Verwenden Sie das Spiel Debug-Befehl zu tun, dass

Wenn Sie aber haben es nicht (und aus einem bestimmten Grund nicht wollen, um es zu installieren), fügen Remote Run-Konfiguration in IDEA, die Ihnen einen Hinweis für die Befehlszeilenargumente, die Sie beim Starten von SBT verwenden sollten, z

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 

Wenn Sie SBT starten, die als Start SBT Glas kann oder auch nicht so einfach sein, benutzen Sie einfach die oben JVM konfigurieren im Debug-Modus auszuführen.

+0

ich habe kein play installiert auf meinem computer, so kann ich nicht laufen command play das ist ein sbt-projekt –

+0

Doh, ich dachte, da es ein Play-Projekt ist, benutzt du play distro lokal installiert. Es tut uns leid. Ich habe die Antwort behoben. –

1

IntelliJ IDEA 2016.01.01 & & Play-Framework-2.5.3

Für mich, egal wie ich Satz (neue Run/Debug-Konfiguration für Wiedergabe 2 App oder SBT-Task erstellen, geben Sie den Debug-Port, führen in Run oder Debug-Modus) in der IntelliJ IDEA 2016.1.1 Enterprise Edition kann die IDEA den Debug-Port (Standard 9999) nicht öffnen, so dass das Debugging unmöglich ist.

Nach dem Deaktivieren des sbt-fork-run-plugin (Kommentar in /project/paly-fork-run.sbt), es funktioniert !!!

Ich bin neuen Rahmen zu spielen, und habe viele Fehler ... Vergleich zu RoR, es ist so schwer zu lernen, zu laufen, zu verwenden, zu debuggen ...

Im Folgenden finden Sie meine Schritte gefunden:

  1. deaktivieren sie die sbt-Gabel-run-Plugin (Kommentar in /project/paly-fork-run.sbt)
  2. ausführen activator -jvm-debug 9999 "run 11111" (ich benutze Port 9999 zu debuggen, Port 11111 mein Play-Projekt laufen)
  3. Fügen Sie in IDEA eine neue Run/Debug-Konfiguration hinzu, wählen Sie, setzen Sie den Debug-Port auf 9999
  4. debug die neu erstellte Konfiguration
+0

Deaktivierung von sbt-fork-run-plugin war ein Schlüssel hier! Vielen Dank – user1913596

5

Die einfachste Lösung.

  1. Konfigurationen bearbeiten ... -> hinzufügen SBT Task (nicht Remote Aufgabe). Spezifizieren Sie SBT Aufgabe: run.

  2. Run erstellt SBT Task mit - Debug Debug-Taste

+2

FYI, wenn dies nicht so funktioniert, müssen Sie Ihre build.sbt Datei 'fork in run bearbeiten: = wahr' zu 'fork in run: = false' Siehe markus Antwort hier: http://stackoverflow.com/questions/5390178/how-to-make-the-debugging-in-playframework-in-intellij-idea – Jeep87c

+0

Es funktioniert für mich mit 'fork in run: = true' –