Отладка Playframework в Eclipse - PullRequest
       23

Отладка Playframework в Eclipse

39 голосов
/ 24 августа 2011

Я только что перешел из Netbeans в Eclipse.В Netbeans я могу отлаживать приложения Playframework из коробки.Однако в Eclipse, кажется, сложно настроить это для отладки веб-приложения (в частности, приложения Playframework).

Как в Play!документация,

Основной модуль запуска используется только с командой запуска от имени eclipse.Затем вы можете использовать «Connect JPDA launcher», используя «Debug As», чтобы начать сеанс отладки в любое время.Остановка сеанса отладки не остановит сервер.

Однако я не вижу «Подключить JPDA launcher» в «Отладка как» (я использую Eclipse Classic 3.7.0).Я искал JPDA (я новичок в Java и не знаю о "главном лаунчере" и JPDA, затем сконфигурировал удаленную отладку в соответствии с инструкциями http://javarevisited.blogspot.com/2011/02/how-to-setup-remote-debugging-in.html Но возвращается ошибка:

Не удалось подключиться к удаленной виртуальной машине. Соединение отклонено. Соединение отклонено: connect

Я искал и нашел несколько предложений, таких как:

1.) Редактированиеcatalina.bat и добавление строк: set JPDA_TRANSPORT = dt_socket ... set 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!в Затмении?

Ответы [ 7 ]

114 голосов
/ 21 апреля 2012

Начиная с Play 2.0, папка и панели запуска eclipse больше не создаются при запуске play eclipsify. После запуска play eclipsify вы можете отлаживать свой проект в Eclipse следующим образом:

  1. В консоли вне затмения запустите play debug run.
  2. В Eclipse щелкните правой кнопкой мыши свой проект, затем выберите Debug As -> Debug Configurations...
  3. Щелкните правой кнопкой мыши Remote Java Application, затем нажмите New.
  4. Хост уже должен быть установлен на localhost. Установите для порта значение 9999 (порт по умолчанию, используемый командой play debug run).
  5. Нажмите Apply для сохранения, затем Debug для подключения к запущенному экземпляру Play.
30 голосов
/ 24 августа 2011

Прежде всего, вы создали файлы конфигурации для 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 во всплывающем меню.Это запустит сеанс отладки вашего приложения.

7 голосов
/ 21 января 2013

Play 2.1-RC2: Запуск Play!приложение, которое синхронизируется с Eclipse

Чтобы сделать проект Eclipse совместимым, получите папку проекта и затем введите команду "> play eclipse".Теперь вы можете добавить его в качестве существующего затмения формы проекта.

Затем, чтобы запустить его, вы должны сначала запустить start play в папке проекта, т.е. команда «play»

Это активирует сервер воспроизведения иопределить приложение в проекте, т. е. [appname] $, теперь вам нужно просто дать команду «запустить», чтобы увидеть, как ваше приложение работает на локальном хосте: 9000 или любой другой указанный вами порт конфигурации.

Режим отладки: Чтобы выполнить это аналогичным образом, вам нужно сначала дать команду "play", а затем [appname] $ "play debug run", по умолчанию это будет использовать порт 9999, поэтому при переходе на localhost: 9000 в вашемв браузере и в вашем файле eclipse -> Debug As -> Debug configuration .. -> New Remote Java Application -> connect, укажите порт 9999 и отладку

4 голосов
/ 02 октября 2015

Я полагаю, что большинство из вас используют игровую среду с Typesafe Activator.Если вы это делаете, это может вам помочь,

  1. activator -jvm-debug ~ run

    Как: activator -jvm-debug 9999 ~ run

(затем он запустит отладчик на порту 9999 вместе с приложением, работающим на порту 9000.)

Теперь перейдите к затмению и щелкните правой кнопкой мыши на имени проекта, который вы хотите отладить, и выберите Отладка как -> Отладка конфигурации .. -> (выберите) Удаленное приложение Java -> новое (вверху слева значокс крошечным знаком плюс) -> connect указать порт 9999 и отладку.
4 голосов
/ 28 марта 2015

С активатором вам понадобится activator -jvm-debug <port number> ~run

2 голосов
/ 20 сентября 2013

Начиная с 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» и выполните команду «Создать». Затем установите порт на 8551. Теперь вы можете начать играть, используя

play debug run

А затем в Eclipse начните отладку, используя конфигурацию отладки, которую вы создали.

1 голос
/ 24 августа 2011

Если вы запустите «play eclipsify» в папке проекта, он создаст две конфигурации запуска.Рассматривая подробности конфигурации запуска, вы должны проверить, находится ли следующая строка (или что-то подобное) в «Аргументах виртуальной машины»:

-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"

Здесь вы можете настроить порт отладки.С помощью этого конфига я могу присоединиться к процессу, используя инструкции, которые у вас есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...