Over a million developers have joined DZone.

More New Cool Features in Maven 3 - Parallel Builds

· Java Zone

Navigate the Maze of the End-User Experience and pick up this APM Essential guide, brought to you in partnership with CA Technologies

One of the big focuses of Maven 3 is to provide a more reliable, more stable and better performing build tool. And one big area of improvement is Performance.

Maven 3 has the (new and somewhat experimental) ability to analyze your project structure, and the dependencies between your modules, to figure out which modules can be built in parallel. This has major performance implications for larger multi-module projects - the documentation reports typical speed increases of 20-50%.

To configure your modules to be built in parallel, you need to tell Maven how many threads you want to work with. The following command will run Maven using 4 threads:

mvn -T 4 clean install

Or you can get Maven to calculate how many threads to run, based on the number of available CPU cores. In this example, Maven will run up to 2 threads per core in parallel.

mvn -T 2C clean install

The biggest speed increase comes from tests. Of course, not all tests can be run in parallel - if two modules both start up a web server on the same port, for example, you will get yourself into trouble. Speed increases will also depend on how your tests are distributed through your modules - if all the slow ones are together in one module, for example, speed increases are likely to be limited. In this case, you might want to also try running your unit tests in parallel.

From http://weblogs.java.net/blog/johnsmart/archive/2010/09/07/more-new-cool-features-maven-3-parallel-builds

Thrive in the application economy with an APM model that is strategic. Be E.P.I.C. with CA APM.  Brought to you in partnership with CA Technologies.

Topics:

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}