Как сделать отладку в playframework в IntelliJ Idea
Здесь у нас есть ссылка
http://www.playframework.org/documentation/1.0.1/ide
о том, как настроить playframework для работы с разными IDE. Там они говорят пару слов об отладке, но неясно - как я могу выполнить отладку? Если я поставлю точку прерывания, скажем, в моем классе конструктора Model, то как и что я должен запустить для инициализации отладки? Я использую IntelliJ Idea.
Например, когда я использую Jboss или Tomcat, в среде IDE на этих серверах есть опция для запуска их в режиме отладки или в обычном режиме. Но как работать с Play Framework в этом контексте? Должен ли я как-то настраивать удалённую отладку?
Ответы
Ответ 1
при запуске Play Framework (через play run) вы увидите, что говорится, что порт отладки работает с определенным адресом. Это стандартное поведение Java на серверах (с включенным отладочным портом).
Большинство IDE позволяют настроить соединение с этим удаленным портом, чтобы удаленно отлаживать код. Конкретные шаги будут зависеть от используемой среды IDE, но она должна быть такой простой.
Ответ 2
Наиболее удобным способом запуска/отладки приложений в intellij IDEA является следующее.
Команда меню: Выполнить → Изменить конфигурацию!
![Edit configuration]()
Добавить новую конфигурацию → Приложение
Затем заполните поля:
Основной класс:
play.server.Server
Параметры VM:
-Dapplication.path =.
У вас должно быть что-то похожее:
![configuration screen]()
Если вы сделали это правильно, вы можете запустить и остановить приложение прямо из IDE
РЕДАКТИРОВАТЬ для игры! 2
В Play 2 есть хорошая документация для отладки. Так что прочитайте это. Но если вы хотите исследовать метод запуска/отладки - читайте дальше.
Для воспроизведения 2 это отличается.
Настройки:
Основной класс:
play.core.server.NettyServer
Параметры VM:
-Xrunjdwp: транспорт = транспорт по сокетам, сервер = у, приостановить = п, адрес = 9999
-Dapplication.path =.
Вы все еще можете отлаживать свое приложение, нажав кнопку отладки, но я не выяснил некоторые проблемы:
-
Он всегда запускается в режиме PROD, поэтому вы не можете делать горячие изменения кода.
-
RUNNING_PID. При перезапуске сеанса отладки возникает ошибка, указывающая, что вы должны удалить этот файл.
Ответ 3
В Play 2 просто выполните следующие действия:
- Из оболочки запустите
play debug
- Вы попадете в консоль отладки. Введите
run
и нажмите enter.
- Затем создайте удаленную конфигурацию в IntelliJ IDEA для "localhost" и 9999.
- Запустите новую конфигурацию
Ответ 4
Если его проект воспроизведения из командной строки:
play debug
Если его проект воспроизведения SBT из командной строки:
sbt -jvm-debug 9999 run
Отладочный порт по умолчанию - 9999
теперь создайте удаленную конфигурацию
в IntelliJ:
Перейдите к разделу "Редактирование параметров запуска"
![enter image description here]()
Создайте новую удаленную конфигурацию (порт 9999, все остальные данные останутся со значениями по умолчанию)
![enter image description here]()
запустите новую конфигурацию отладки (не забудьте поставить точку останова)
Ответ 5
Мне пришлось изменить эту строку в моей build.sbt:
fork в run: = true
к
fork в run: = false
для точек останова для работы в IntelliJ IDEA 15.0 с конфигурацией запуска приложения Play 2.
Ответ 6
У меня была аналогичная проблема.
играть (клонировано из github в 2011-08-28) и intellij 10.5
SEVERE: Не удается прочитать application.conf
мое исправление было: -Dapplication.path =. (без "")
установить -Djavaagent =... больше не нужно в моей коробке.
Ответ 7
Начиная со версии 11 IDEA, в исходной версии встроена поддержка структуры Play.
Чтобы отладить приложение Play, выполните следующие действия:
- из командной строки, создайте новое демо-приложение, используя "play new demoapp"
- из командной строки, создайте файлы проекта/модуля Intellij, используя "play idea demoapp"
- произвольно отредактируйте файл .iml и измените "1.6" на "1.7", если вы используете последнюю версию JDK (ошибка!)
- запустите Intellij и откройте проект demoapp
- Перейдите в раздел "Запуск/Редактирование конфигурации"
- Нажмите кнопку "+" и добавьте конфигурацию 'remote'
- Выберите "Транспорт: сокет", "Режим отладчика": "Прикрепить", "Хост: localhost", "Порт 8000"
- Задайте 'имя' и 'classpath-module'
- Запустите игру! поддержка фреймворка в IDEA, выбрав "Сервис/Планирование"
- Запустите демо-приложение, введя "play run play101" в Play! консоль
- Установить точку останова в файле Application.java на строке "render()"
- Запустите конфигурацию отладки 'remote'.
- В браузере перейдите в http://localhost:9000
Теперь вы должны нажать точку останова.
Ответ 8
В проекте SBT вы можете отлаживать отладчик IDE с конфигурацией задачи SBT (Run- > Edit Configurations- > Add New Configuration- > SBT Task) - с настройкой Задачи, установленной на:
"запустить 9000" "-jvm-debug 9999"
9000 - это порт сайта, 9999 - порт отладки по умолчанию. Необходимы кавычки
Затем выберите конфигурацию и отладка
Работает с изданием сообщества (2016.2)
Ответ 9
Мое исправление:
откройте диалоговое окно "Run/Debug Configurations", затем измените "рабочий каталог" на каталог проекта.