Maven build debug in Eclipse

126,985

Solution 1

Easiest way I find is to:

  1. Right click project

  2. Debug as -> Maven build ...

  3. In the goals field put -Dmaven.surefire.debug test

  4. 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.

Share:
126,985
Maciej Laskowski
Author by

Maciej Laskowski

Updated on July 18, 2022

Comments

  • Maciej Laskowski
    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
    Kangur almost 11 years
    I 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
    Bin He about 10 years
    Awesome! 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
    Noam Manos about 9 years
    The parameter forkMode is deprecated since version 2.14. Instead use forkCount=0
  • kellogs
    kellogs over 8 years
    tried 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
    Ternary over 8 years
    I believe #3 should be -Dmaven.surefire.debug=test (note the =)?
  • Stephane
    Stephane over 8 years
    I 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
    GoAntonio over 6 years
    this 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
    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 as test -Dmaven.surefire.debug, though.
  • Marco Sulla
    Marco Sulla over 2 years
    It 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