Saturday, May 25, 2013

debugging fornax-oaw-m2-plugin maven plugin

Question: Do you need to debug maven plugin: fornax-oaw-m2-plugin ?
If so, go on reading.

You can find the basic info at their home page:
However remote debugging topic is not covered there.
The problem with maven plugins might be, that sometimes it's not enough to debug maven run itself (as described in my previous post).

However merging information from the previous links with common remote debugging options I came to solution that simply works for me:

<build>
  <plugins>
    <plugin>
      <groupId>org.fornax.toolsupport</groupId>
      <artifactId>fornax-oaw-m2-plugin</artifactId>
      <version>2.1.1</version>
      <type>pom</type>
      <configuration>
        <!-- [BEGIN] debugging related section -->
        <jvmSettings>
          <jvmArgs>
            <jvmArg>-Xdebug</jvmArg>
            <jvmArg>-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8100</jvmArg>
            <jvmArg>-Xnoagent</jvmArg>
            <jvmArg>-Djava.compiler=NONE</jvmArg>
          </jvmArgs>
        </jvmSettings>
        <!-- [END] debugging related section -->
      </configuration>
      <executions>
        <execution>
          <phase>generate-sources</phase>
          <goals>
            <goal>run-workflow</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
Please note that port to remotely connect to with debugger is 8100 in my sample. Feel free to adapt it based on your setup.

After using the configuration in your run, you should get to point where plugin run gets suspended and waits for remote debugger to connect (to find out how to remotelly debug, see some existing tutorial, like this one: http://java.dzone.com/articles/how-debug-remote-java-applicat).

That's it. Enjoy your debugging session.

This post is from pb's blog.

No comments: