Плагин Maven SureFire запускает тест в другом процессе по умолчанию.Вероятно, поэтому это не сработало для вас.Сначала вы отключите разветвление, добавив его в pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>never</forkMode>
</configuration>
</plugin>
</plugins>
</build>
Затем выполните следующие шаги для отладки:
- Запустите тест в режиме отладки:
Перейдите в папку, где находится ваш pom.xml.Предполагая, что вы хотите выполнить отладку до фазы установки, которая также охватывает ваш тест.Выполните эту команду
mvnDebug install
Это запустит процесс и будет ждать порт по умолчанию 8000 (ваш порт может отличаться, проверьте выводной дисплей).Мой тест показывает этот вывод:
Listening for transport dt_socket at address: 8000
Используйте удаленный отладчик в Eclipse, чтобы подключиться к процессу, запущенному на шаге 1:
Установить (или импортировать) проекты в Eclipse, если у вас его нет, затем перейти в меню «Выполнить» -> «Debug Configuration» -> «Remote Java Application» и создайте новую конфигурацию запуска.Убедитесь, что номер порта соответствует номеру, показанному в выходных данных шага 1. Нажмите «Отладка».Это подключит отладчик Eclipse к вашему процессу, начатому на шаге 1. Если в редакторе исходного кода Eclipse установлена точка останова, она остановится прямо здесь.
Некоторые люди скажут, что, делая это, выдействительно отлажены Maven.Я проверил это, и этот подход работал просто отлично.Пока у вас нет исходного кода Maven в вашем проекте Eclipse, и он останавливается на точке останова, установленной в исходном коде вашего собственного проекта, это просто прекрасно работает!