Я бегу Jetty из командной строки с:Debug Gradle jettyRun в IntelliJ
export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n"
gradle jettyRun
и посмотреть:
Listening for transport dt_socket at address: 9999
... затем в IntelliJ Idea (Ultimate 12.1.3) я создаю новая конфигурация удаленной отладки со всеми по умолчанию, изменяя только порт для 9999.
Когда я начинаю (отладки) с помощью удаленной конфигурации, я вижу:
Connected to the target VM, address: 'localhost:9999', transport: 'socket'
... что заставляет меня думать, что все работает так, как ожидалось.
Затем я делаю запросы, которые должны приводить к ударам точек останова. Но точки останова никогда не срабатывают.
Что я делаю неправильно?
Спасибо.
Одна теория заключается в том, что я могу сказать * Gradle *, а не * Jetty *, чтобы открыть порт отладки. И, глядя на документацию JettyRun, не может быть никакого способа сделать это. http://www.gradle.org/docs/current/dsl/org.gradle.api.plugins.jetty.JettyRun.html#org.gradle.api.plugins.jetty.JettyRun:jettyConfig ... глядя в решение, используя плагин Cargo. Однако, глядя на плагин tomcat, то, что я делаю, выглядит правильно: https://github.com/bmuschko/gradle-tomcat-plugin –
Ваше решение работает для меня. Я использую gradle 1.5. Ваше решение выше, то же самое с http://stackoverflow.com/questions/9315398/how-to-run-jetty-via-gradle-in-debug-mode. – ceilfors
, если вы видите Подключен к целевой виртуальной машине, адрес: «localhost: 9999», транспорт: «socket» , что означает, что вы подключены. Я добавлю system.out, чтобы исключить, что вы не вызываете точки останова. –