Я использую maven/surefire/eclipse, чтобы написать код, а затем проверить/отладить его.
Стандартный способ сделать это - использовать свойство maven.surefire.debug maven. По умолчанию, когда это свойство включено, maven начинает прослушивать порт 5005, и я могу подключиться к отладочному процессу с помощью удаленного отладчика. Когда тест завершает удаленный отладчик, он отключается от сервера.
Этот процесс включает в себя два шага, когда выполняется в eclipse:
- Выполнить maven
- Подключение с использованием конфигурации удаленного запуска
То, что я хотел бы достичь, - это уменьшить это:
- Выполнить maven
Я обнаружил, что установка свойства maven.surefire.debug для некоторых параметров удаленной отладки изменит поведение удаленного отладки. Таким образом, когда я указываю i.e.
-Dmaven.surefire.debug = "- Xdebug -Xrunjdwp: transport = dt_socket, server = n, address = 5005"
тогда сборка попытается подключиться к моему процессу eclipse, прослушивая порт 5005. Таким образом, я инвертирую роли клиента/сервера по умолчанию для maven и eclipse.
Однако с этим подходом существует одна большая проблема. Это ничего мне не дает, так как после завершения сборки maven eclipse перестает слушать порт сервера. Это та часть, которую я не понимаю. Когда я подключаюсь как отладочный клиент от eclipse к, например, серверу WebLogic, он позволяет мне соединять/отключать свободно столько раз, сколько захочу.
Кто-нибудь знает, нормально ли это, или, может быть, мне нужно указать некоторые дополнительные параметры, чтобы облегчить отладку тестов maven?