Tell me about the goals of Maven 2.0

In addition to understanding the Goals of Maven there have also been questions about why Maven 2.0 is rewritten from the successful Maven 1.0. In summary, the main goals of the new Maven 2.0 architecture are:

  • To be simple to use - it should be more obvious and consistent about how things are working
  • Fast - a new architecture and smaller memory footprint make it as fast as possible
  • To be able to implement the features demanded were not possible under the Maven 1.0 architecture

Unfortunately, to reach these goals we've had to sacrifice backwards compatibility. Instead of making many small incremental changes that would break compatibility often over time, we decided to build on a new, solid base that can be reliable for the future, and also to maintain the existing Maven 1.x product to ensure that existing users are not left out in the cold.


Tell me about the goals of Maven 3.0

Maven 3.0 is an important internal improvement with following goals:

  • Backward compatibility
  • Performance improvement
  • Parallel builds
  • Better error and integrity reporting


Can I get involved?

The Maven project welcomes anyone that wishes to contribute to do so by providing patches to the source code, participating in design discussions, or to help out on the users mailing list by answering questions.

Frequent contributors recognised by existing committers to the project may be asked if they would like to join the project.

For instructions on checking out and building Maven 2 and 3, see Building Maven .

For more information, please see How to Help .


What plugin languages will Maven 2.0 support? What about [insert language here]?

As of the current release, Maven supports pure Java and Beanshell. Java is the preferred language for it's familiarity and speed.

We get asked a lot whether Maven 2.0 will support other languages, in particular Groovy. We will allow the use of Groovy - and virtually any other scripting language (if there is demand) if someone can commit a small amount of time to implementing a factory for it.

We would recommend waiting for Groovy to have a 1.0 release so the API (and language!) is stable. What we will not be doing is actively supporting it (in terms of answering questions about how to use it) like we currently do for Jelly in Maven 1.x.

Beanshell is more mature, and we want a language that users will find answers for when they look, and that when they find bugs, it is clearly defined where they actually are.

We may consider emphasising a different language if there are compelling technical reasons for doing so - if you have a suggestion, feel free to contact the development list.


Where do I get help with Maven 2 & 3?

Help for both Maven 1.0 and Maven 2 & 3 can be obtained by subscribing and posting to the Maven Users List.

You can also join us on IRC (Internet Relay Chat) at on #maven. over IRC for those behind firewalls (enter #maven in the Channel box).