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