Maven 2.1.0 Released


March 22, 2009 By John Casey

We’re pleased to announce the release of Maven 2.1.0. If you’ve been staring longingly at version 2.1.0-M1 for the last few months, but couldn’t quite get up the nerve to try a milestone release, here’s your chance! Version 2.1.0 builds on the unprecedented stability of 2.1.0-M1, fixing the one or two bugs that were found in that release and adding some exciting new features. Some of these features include:

  • Obfuscated server passwords in the settings.xml (MNG-553)

This feature allows you to encrypt the passwords in the <servers/> section of your settings.xml, to keep them safe from prying eyes. To get started, see the Maven Mini-Guide to Password Encryption.

Tips for using encrypted passwords can also be found in the command-line help for Maven, mvn -h:

Options:
   […]
  -emp,—encrypt-master-password    Encrypt master security password
  -ep,—encrypt-password            Encrypt server password
  • Improvements to the Ant-based mojo support that bring up to feature parity with the maven-antrun-plugin (MNG-3971)

FINALLY, we have support for mojos and plugins written in Ant that’s every bit as good as the Ant support from the maven-antrun-plugin. All of the implied classpaths and innate expression-evaluation capabilities are now available to plugin developers who choose to use Ant.

  • Parallel resolution of artifacts (MNG-3379)

For those of you whose projects download the entire Internet when they build, you’ll probably be interested in parallel artifact resolution. This new feature allows up to five different artifacts (from different groupIds, initially) to be resolved at the same time, thereby shortening total build time in many cases. For more information, see the section “Configuring Parallel Artifact Resolution” in the Mini-Guide to Configuring Maven.

  • New build mode that mimics Make (MNG-2576)

If you’ve ever worked on a large project that contained many interdependent modules and wished you could build only the subset you’re currently focused on fixing, you should take a look at Maven’s new Make-like build modes. Using these modes, you have the ability to build dependency modules contained within the same multi-module build as the current project; to resume a failed multi-module build; and to rebuild all of the projects that depend on the current project. In short, this feature integrates directly into Maven’s core the capabilities found in the maven-reactor-plugin.

Tips for using the new Make-like build modes can be found in the command-line help for Maven, mvn -h:

Options:
   […]
   -amd,—also-make-dependents       If project list is specified, also
                                     build projects that depend on projects on the list
   […]
   -rf,—resume-from                 Resume reactor from specified project
   […]
   -am,—also-make                   If project list is specified, also
                                     build projects required by the list
   […]
   -pl,—projects                    Build specified reactor projects
                                     instead of all projects

You can also find the design document for these build modes here.