2013-05-17 14 views
6

I Jetty von der Kommandozeile mit:Debug gradle jettyRun in IntelliJ

export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n" 

gradle jettyRun 

und sehen:

Listening for transport dt_socket at address: 9999 

... dann in IntelliJ Idea (Ultimate 12.1.3) Ich erstellen neue Debug-Remote-Konfiguration mit allen Standardeinstellung, nur den Port 9999.

Ändern

Wenn ich (debug) mit der Remote-Konfiguration starten, ich sehe:

Connected to the target VM, address: 'localhost:9999', transport: 'socket' 

... was mich denken lässt, alles funktioniert wie erwartet.

Dann mache ich Anfragen, die dazu führen sollten, Breakpoints zu treffen. Die Haltepunkte werden jedoch nie ausgelöst.

Was mache ich falsch?

Danke.

+0

Eine Theorie ist, dass ich sagen kann * Gradle * und nicht * Jetty * einen Debug-Port offenlegen. Und wenn Sie sich die JettyRun-Dokumentation ansehen, gibt es möglicherweise keine Möglichkeit, dies zu tun. http://www.gradle.org/docs/current/dsl/org.gradle.api.plugins.jetty.JettyRun.html#org.gradle.api.plugins.jetty.JettyRun:jettyConfig ... Suche in Lösung mit das Cargo-Plugin. Wie auch immer, wenn ich das Tomcat-Plugin ansehe, scheint das, was ich tue, korrekt zu sein: https://github.com/bmuschko/gradle-tomcat-plugin –

+0

Ihre Lösung funktioniert für mich. Ich benutze Gradle 1.5. Ihre obige Lösung ist die gleiche mit http://stackoverflow.com/questions/9315398/how-to-run-jetty-via-gradle-in-debug-mode. – ceilfors

+0

Wenn Sie mit der Ziel-VM verbunden angezeigt werden, Adresse: 'localhost: 9999', Transport: 'socket' bedeutet, dass Sie verbunden sind. Ich werde system.out hinzufügen, um auszuschließen, dass Sie die Breakpoints nicht auslösen –

Antwort

0

In IntelliJ (mindestens am 12.1.5) können Sie einfach zu JetGradle gehen, klicken Sie mit der rechten Maustaste auf jettyRun und dann auf Debug.

+0

Bitte kommentieren Sie, warum Sie heruntergestuft haben ... – eduardohl

+0

Ich habe selten einen Downvote, aber ich habe auch einen starken Wunsch, es zu tun. "Sie können einfach zu JetGradle gehen" ... Wirklich? Und wie? Siehst du hier, dass JetGradle diskutiert oder gar erwähnt hat? – Gangnus

+0

Guter Punkt. Ich denke, ich hatte das Plugin installiert und nicht bemerkt. Ich denke es existiert noch nicht einmal ... – eduardohl

5

Sie könnten die Variable "org.gradle.jvmargs" in Ihrer Datei "gradle.properties" festlegen lassen. Dies führt dazu, dass die JVM gegabelt wird, was bedeutet, dass Sie den richtigen Prozess nicht mehr debuggen.

In diesem Fall könnten Sie entweder "org.gradle.jvmargs" nicht setzen oder ihm die Debug-Parameter übergeben, z.

org.gradle.jvmargs = -XX: MaxPermSize = 128m -Xdebug -Xrunjdwp: transport = dt_socket, server = y, y = suspendiert, Adresse = 1233

in den Debug-Parameter einstellen org .digled.jvmargs würde den gegabelten Prozess zum Debuggen konfigurieren.

+0

Ich hatte java_opts in gradle.properties eingestellt und natürlich wurde die JVM auch gegabelt. Das Hinzufügen von org.gradle.jvmargs hat es behoben. –

Verwandte Themen