Отладка Playframework в Eclipse
Я просто перешел из Netbeans в Eclipse. В Netbeans я могу отлаживать приложения Playframework из коробки. Однако в Eclipse сложно настроить это для отладки веб-приложения (в частности, приложения для Playframework).
Как в Play! документация,
Основной пусковой механизм можно использовать только с командой Run As eclipse. Вы может затем использовать "Connect JPDA launcher", используя "Debug As", чтобы запустить отладочной сессии в любое время. Остановка сеанса отладки не будет остановите сервер.
Однако я не вижу "Connect JPDA launcher" в "Debug As" (я использую Eclipse Classic 3.7.0).
Я искал информацию о JPDA (я новичок в Java и не знаю о "main launcher" и JPDA, а затем config Remote Debug, как указано в
http://javarevisited.blogspot.com/2011/02/how-to-setup-remote-debugging-in.html
Но он возвращает ошибку:
Не удалось подключиться к удаленной виртуальной машине. В соединении отказано. соединение отказался: connect
Я искал и нашел несколько предложений вроде:
1.) редактирование catalina.bat и добавление строк: set JPDA_TRANSPORT = dt_socket... установить JPDA_ADDRESS = 8000 AND 2.) Редактирование вызова startup.bat "% EXECUTABLE%" jpda start% CMD_LINE_ARGS%
На самом деле я не совсем понимаю это, и я предполагаю, что он предназначен для настройки Tomcat. Тем не менее, я использую Play! по умолчанию, проверил application.conf и уверен, что он прослушивает порт 9000 и 8000 для JPDA.
Конечно, я начал приложение Play перед отладкой, я могу нормально обращаться к приложению через порт 9000. Я использую Win 7 без прав администратора.
У вас есть подробное руководство по отладке Play! в Eclipse?
Ответы
Ответ 1
Прежде всего, вы создали файлы конфигурации для Eclipse с помощью команды play eclipsify YourProject
, правильно? (Если нет, см. "Документация по документации" для получения дополнительной информации.)
После этого в вашем проекте должна быть папка с именем eclipse
. В нем вы увидите команды Connect JDPA to YourProject.launch
, YourProject.launch
и Test YourProject.launch
.
Щелкните правой кнопкой мыши по YourProject.launch
и выберите Run As --> YourProject
во всплывающем меню. Это запустит ваше приложение. Когда приложение запущено, щелкните правой кнопкой мыши на Connect JDPA to YourProject.launch
и выберите Debug As --> Connect JDPA to YourProject.launch
во всплывающем меню. Это запустит сеанс отладки в вашем приложении.
Ответ 2
Как и в Play 2.0, папка eclipse
и пусковые установки больше не генерируются при запуске play eclipsify
. После запуска play eclipsify
вы можете отлаживать проект в Eclipse следующим образом:
- На консоли вне eclipse запустите
play debug run
.
- В Eclipse щелкните правой кнопкой мыши ваш проект, затем выберите
Debug As -> Debug Configurations...
- Щелкните правой кнопкой мыши
Remote Java Application
, затем нажмите New
.
- Хост должен быть уже установлен на
localhost
. Установите порт на 9999
(порт по умолчанию, используемый командой play debug run
).
- Нажмите
Apply
для сохранения, затем Debug
, чтобы подключиться к вашему исполняемому экземпляру воспроизведения.
Ответ 3
Воспроизвести 2.1-RC2: Запуск игры! приложение, которое синхронизируется с Eclipse
Чтобы сделать проект совместимым с Eclipse, получил его папку проекта, а затем дал команду
msgstr "играть в затмение". Теперь вы можете добавить его в качестве существующей проектной формы затмения.
Затем, чтобы запустить его, вы должны сначала запустить начальную игру в папке проекта, то есть команду "играть"
Это активирует игровой сервер и идентифицирует приложение в проекте, т.е. [appname] $
теперь вам нужно просто дать команду "запустить", чтобы увидеть ваше приложение, запущенное на localhost: 9000 или любую конфигурацию порта, которую вы указали.
Режим отладки: Для запуска этого аналогично вам нужно сначала дать команду "play", затем [appname] $"play debug run", это будет по умолчанию использовать порт 9999, поэтому, когда вы переходите на localhost: 9000 в вашем браузере и в вашем файле eclipse → Debug As → Конфигурация отладки.. → Новое удаленное приложение Java → connect укажите порт 9999 и debug
Ответ 4
С активатором вам понадобится activator -jvm-debug <port number> ~run
Ответ 5
Как и в Play 2.1.2, я получал ошибку "адрес в использовании" при запуске отладки отладки.
Исправление заключалось в том, чтобы отредактировать play.bat в директории play-2.1.2 и изменить эти две строки:
:setDebug
set JPDA_PORT=9999
к
:setDebug
set JPDA_PORT=8551
Затем в Eclipse выберите Debug Configurations, найдите "Remote Java Application", сделайте New. Затем установите порт на 8551. Теперь вы можете начать воспроизведение с помощью
play debug run
И затем в Eclipse начните отладку, используя созданную вами конфигурацию отладки.
Ответ 6
Если вы запустите "play eclipsify" в папке проекта, он создаст две конфигурации запуска.
Если посмотреть на параметры конфигурации запуска, вы должны проверить, находится ли следующая строка (или что-то подобное) в "аргументах VM":
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
-Dplay.debug=yes
-Dplay.id=test -Dapplication.path="${project_loc:NMKServer}"
-Djava.endorsed.dirs="c:\Java\play-1.2.2/framework/endorsed"
-javaagent:"c:\Java\play-1.2.2/framework/play-1.2.2.jar"
Здесь вы можете настроить порт отладки. С помощью этой конфигурации я могу подключиться к процессу с помощью ваших инструкций.
Ответ 7
Я думаю, что большинство из вас запускает платформу игр с помощью Activate Activator. Если вы это делаете, это может вам помочь,
(тогда он запустит отладчик в порте 9999 вместе с приложением, работающим на порте 9000.)
- Теперь перейдите в eclipse и щелкните правой кнопкой мыши имя проекта, которое вы хотите отлаживать, и выберите Отладка как → Конфигурация отладки.. → (выберите) Удаленное приложение Java → new (вверху слева значок с крошечным знаком плюса) → connect указать порт 9999 и отлаживать.