Отладка проекта SBT с Play in IntelliJ IDEA

У меня есть проект SBT

в этом проекте у меня есть проект вспомогательной игры и другие проекты

пример из моего файла сборки:

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

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

необходимо отладить игровой сервер от IntelliJ IDEA.

Для запуска проекта я использую sbt run в командной строке.

Как отлаживать проект в IDEA?

Ответ 1

Я нашел это самым легким решением: (используя IntelliJ IDEA)

в IntelliJ:

Перейдите к разделу "Редактирование параметров запуска"

enter image description here

Создайте новую удаленную конфигурацию (порт 9999, все остальные данные останутся со значениями по умолчанию)

enter image description here

Вернитесь в IntelliJ и запустите новую конфигурацию отладки (не забудьте поставить точку останова)

Из командной строки:

 sbt -jvm-debug 9999 run

Ответ 2

Самое простое решение.

  • Изменить настройки... → добавить SBT Task (не Remote задача). Задайте задачу SBT: run.

  • Запустить созданный SBT Task с помощью кнопки Debug Отладка

Ответ 3

Если у вас установлен дистрибутив Play Play, используйте play debug run в командной строке и подключитесь к localhost на порту 9999 в IDEA.

Из раздела Отладка в разделе" Использование консоли воспроизведения в официальной документации для воспроизведения 2.2.x:

Вы можете попросить Play запустить порт отладки JPDA при запуске консоли. Затем вы можете подключиться с помощью отладчика Java. Используйте команду отладки воспроизведения сделать это

Если, однако, у вас его нет (и по какой-то причине его не требуется устанавливать), добавьте Remote Запустите конфигурацию в IDEA, которая даст вам подсказку для аргументов командной строки, которые вы должны использовать при запуске SBT, например

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

Когда вы запускаете SBT, который может быть или не быть таким простым, как запуск SBT-банки, просто используйте приведенное выше, чтобы настроить JVM для запуска в режиме отладки.

Ответ 4

IntelliJ IDEA 2016.1.1 && Play Framework 2.5.3

Для меня, независимо от того, как я установил (создайте новую конфигурацию Run/Debug Configuration для Play 2 App или SBT Task, укажите порт отладки, выполните в режиме Run или Debug) в IntelliJ IDEA 2016.1.1 Enterprise Edtion, IDEA не удается открыть порт отладки (по умолчанию 9999), поэтому отладка невозможна.

После отключения sbt-fork-run-plugin (комментируйте его в /project/paly -fork-run.sbt), он работает!!!

Я новичок в платформе Play, и нашел много ошибок... Сравните с RoR, так сложно учиться, запускать, использовать, отлаживать...

Ниже приведены мои шаги:

  • отключить sbt-fork-run-plugin (прокомментировать его /project/paly -fork-run.sbt)
  • выполнить activator -jvm-debug 9999 "run 11111" (я использую порт 9999 для отладки, порт 11111 для запуска моего проекта Play)
  • В IDEA добавьте новую конфигурацию Run/Debug, выберите, установите порт отладки в 9999
  • отладить новую созданную конфигурацию