Hi There is actually a much easier way to do this:
Use the M2 Eclipse plugin from codehaus. In the window/preferences panel of Eclipse check off debug output. In the Maven plugin you want to debug, set a beakpoint. Configure a new External M2 run. Start the run and it will break at your breakpoint and you can step through your code (Mavens too if you have attachec the source) Hermod -----Original Message----- From: Franz Allan Valencia See [mailto:[EMAIL PROTECTED] Sent: Friday, February 16, 2007 3:13 AM To: Maven Developers List Subject: Re: [vote-result] debugging maven with eclipse Good day to you, John, Thanks :) I'll try to incorporate it this weekend :) ..unless somebody else wants to do it, in that case, please feel free to do so :) Thanks, Franz On 2/15/07, John J. Franey <[EMAIL PROTECTED]> wrote: > > Franz, > > Thanks for your contribution. I'm new to developing maven internals and my > first question has been how to debug maven. I want to use the debugger to > learn how maven is working internally. > > I've discovered this technique to debug maven 2.0.4 under eclipse 3.2. > Please add it to your tutorial if it is appropriate. Part of your tutorial > is addressing how to debug a user project's unit tests as they are run via > surefire. I'm not certain if the technique I describe here is useful for > debugging a user projects' unit test under surefire, but maybe. > > Here is how I can run/debug maven-core. This is can be applied to any maven > subproject that a maven developer may want to edit and run/debug. > > Please feel free to incorporate this into your tutorial if it is > appropriate. > > First level: running and debugging maven under eclipse: setting up a run > config. The principal here is to merely incorporate the important elements > of the mvn script into an eclipse run configuration. This run configuration > would then be activated as any other run configuration would by clicking run > or debug buttons in the toolbar. > > 0) checkout the maven subproject (I picked maven-core but any should work) > and > create an eclipse project. I used m2eclipse, but I suppose maven's > eclipse > plugin ought to work as well. > > 1) In eclipse, create a new Run configuration: > 1a) Run->Run... > 1b) select Java Application > 1c) select New (to create new Java Application run), pick a name for the > config that would include the project name and goal like: "maven myproject > install" which would be meant to run the install goal in myproject. > > 1d) In the Run dialog: > Main tab) > a) project: maven-core > b) main class: org.codehaus.classworlds.Launcher > Arguments tab) > Program arguments: > < any maven goals or command line argumens (like -X) > > VM arguments: > -Dmaven.home=<your maven installation root> > -Dclassworlds.conf=<your maven installation root>/bin/m2.conf > working directory: > select other: <directory of the project used as maven's input> > > Classpath tab) > remove User Entries -> maven-core > add External Jars <your maven installation > root>/core/boot/classworlds-1.1.jar > > Source tab) > add project maven-core > > Run) > This step will invoke maven without debugging. It will also have the > affect > of registring this new run config as the default run config (and debug run > config) > > 2) Select a breakpoint int maven-core. I picked: > org.apache.maven.DefaultMaven.execute. Then click the little beetle > (debug > run). > > > > The Next Level: developing maven internals and debugging them: > > If you want to make changes to the maven-core or other maven subprojects, > you will need to provide your own version of bin/m2.conf. The purpose is to > tell the internal class loading mechanism (classworlds and > plexus) where your development build directory is so it could load your > version of the classes. > > Your custom m2.conf file could be located anywhere in your filesystem, but > since m2.conf is homed in maven-core, which is my example maven subproject, > I edit it in place. > > Editing this file doesn't take much understanding of classworlds (I for one > do not understand it to any level). > > Copy the original from maven's install bin directory to your preferred > location. Edit the file and add the path to your eclipse build output for > the maven projects involved. I added the middle line in this snippet from > m2.conf: > > [plexus.core.maven] > load /home/jfraney/projects/maven-2.0.4/maven-core/bin > load ${maven.home}/lib/*.jar > > Then change the maven run configuration that was created above. The > property classworlds.conf must be adjusted to point to your custom m2.conf > file. > > Regards, > John > > > > > > > > > > -- > View this message in context: > http://www.nabble.com/debugging-maven-with-eclipse-tf2434872s177.html#a8988667 > Sent from the Maven Developers mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This email with attachments is solely for the use of the individual or entity to whom it is addressed. Please also be aware that the DnB NOR Group cannot accept any payment orders or other legally binding correspondence with customers as a part of an email. This email message has been virus checked by the anti virus programs used in the DnB NOR Group. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]