Reactor: My New Favourite Maven Plugin

Dan recently put together a great new plugin to manipulate the Maven reactor, currently being voted on for release.

It has a few goals:

  • reactor:resume – pick up where a previous build left off
  • reactor:make / make-dependents – make a project and its dependencies or those that depend on it
  • reactor:make-scm-changes – make any projects that have uncommitted changes and their dependencies

This is particularly useful for building a subset of modules during development to reduce the time of a build. While it is a good practice to break down your build into a structure that might reflect common build scenarios, this will be useful in plenty of circumstances.

Think about the 10 minute build that fails with a missing dependency about 9 minutes in, but still with 5 modules to build. You don’t want to build it all again, and you don’t want to build 5 modules manually. Now, you just fix the dependency problem (say, by adding a new proxy/artifact to your locked down repository manager), then run mvn reactor:resume -Dfrom=module-that-failed. Simple!

As I mentioned in an earlier post, this same functionality is intended to be built natively into the final Maven 2.1.0 release (with some exceptions) – keep an eye out for it!

 

About these ads

3 responses to “Reactor: My New Favourite Maven Plugin

  1. Pingback: Art and Flywork - Blog » Maven notes

  2. Well then, I’ll add your blog to my list of maven resources.

  3. Hi,

    i have a project created with maven, geotools, it compile ok and run ok, but when i try to export my jar file to other project i get an error from libraries that are not include, i triying whit reactor compile my project with dependencies that it require, but i can how must be i do to compile whit dependencies.

    thanks.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s