Maven build debug in Eclipse
Solution 1
Easiest way I find is to:
Right click project
Debug as -> Maven build ...
In the goals field put -Dmaven.surefire.debug test
In the parameters put a new parameter called forkCount with a value of 0 (previously was forkMode=never but it is deprecated and doesn't work anymore)
Set your breakpoints down and run this configuration and it should hit the breakpoint.
Solution 2
if you are using Maven 2.0.8+, then it will be very simple, run mvndebug from the console, and connect to it via Remote Debug Java Application with port 8000.
Solution 3
probleme : unit test result are not the same runing with eclipse and maven due ti order of library used by eclipse and maven. In my case the test was success with maven but i want to debug my unit test using eclipse, so the most easy way to debug unit test class with eclipse and runing maven is :
1) mvn -Dtest=MySuperClassTest -Dmaven.surefire.debug test ==> it will listen to the 5005 port (default port)
2) Go to eclipse, open a debug configuration, add a new java remote application and change the port to 5005 and debug
3) of course you must add break point somewhere in the class that you want to debug
Solution 4
The Run/Debug configuration you're using is meant to let you run Maven on your workspace as if from the command line without leaving Eclipse.
Assuming your tests are JUnit based you should be able to debug them by choosing a source folder containing tests with the right button and choose Debug as...
-> JUnit tests
.
Maciej Laskowski
Updated on July 18, 2022Comments
-
Maciej Laskowski almost 2 years
I want to debug Eclipse build with tests. I tried to run it by Run > Debug Configurations > Maven Build. In Base directory is my Maven repo directory with pom.xml file, in goals 'clean install'. When I click on debug Eclipse starts build, run tests but it doesn't stops on breakpoints.
-
Kangur almost 11 yearsI am getting error 'could not load [aa.properties] as a classloader resource'. I am using ClassLoader.getSystemClassLoader().getResourceAsStream() function to load this. Should I set somewhere working dir or change this code a bit?
-
Bin He about 10 yearsAwesome! I was searching how to debug maven project in eclipse, and the number 1 link had a million steps, I followed that, must have made mistakes, and did not work. Found out that article was dated 2008.
-
Noam Manos about 9 yearsThe parameter forkMode is deprecated since version 2.14. Instead use forkCount=0
-
kellogs over 8 yearstried this in surefire 2.19, 2.18 and 2.17 without any success. It did work for 2.12.4 though. Did something change ?
-
Ternary over 8 yearsI believe #3 should be
-Dmaven.surefire.debug=test
(note the=
)? -
Stephane over 8 yearsI had to add a source from the file system and not from the workspace. In the Source tab add a file system directory. Click the Add... button and open the project directory. Tick the Search subfolders checkbox.
-
GoAntonio over 6 yearsthis is the option with eclipse and maven 3.2.3 and sutrefire plug in 2.18.1after clicking debug it will appear a debug window with source notfound then connect the code ( by clicking that window)with the process by selecting your proyect and you will debug line by line
-
Gerold Broser almost 6 years@Ternary That's why believing is better done in churches than in front of computers. ;)
test
is the goal.-Dmaven.surefire.debug
is the property. I'd written it astest -Dmaven.surefire.debug
, though. -
Marco Sulla over 2 yearsIt does not work for me with a Spring Boot application, Eclipse 2021-09 4.21.0. It runs anyway in run mode and not in debug