Maven 2.0 & 3.0 will feel very different to a Maven 1.0 user - and perhaps a little strange. But it is a lot simpler to work with and closer to how Maven was always meant to be! The key changes from Maven 1.0 are:
Maven 3.x is the latest stable release, and we certainly recommend it for all new projects.
If you are already using Maven 1.0 - you should try out Maven 3.x, as it is very much improved. However, we still continue to support the Maven 1.x releases at this time.
If you do use Maven 1.0, and would like to upgrade in the future, you should carefully consider following some of the Best Practices listed. These will make your project a lot easier to migrate in the future.
The following are the known limitations in the current Maven 2.x release compared to Maven 1.x: none.
The following are the known limitations in the current Maven 3.x release compared to Maven 1.x:
Support for Maven 1.0.2 has been discontinued with the release of Maven 1.1. While significant new features will not be added to the Maven 1.x core (such as transitive dependencies), bugfixes and support continue and the repository is still available.
Not directly.
We recommend building your Jelly plugins as thin wrappers around Java beans that do not use Maven 1.0 API's, which will allow easy migration to Maven 2.0.
Taken from this post to the Maven User's List:
Everything in m2 is a plugin so for doing any sort of custom work like that you will need to make a plugin. This 1) greatly reduces the complexity within m2 because we only deal with proper plugins. The maven.xml file in m1 was a pseudo plugin essentially and greatly complicated the internals and 2) it promotes the sharing of your work right from the get go. To start with you'll probably write a plugin that is only applicable to your specific requirements, or your team's work, but you'll see people asking for some functionality and you'll go "hey, I have something like that!" and hopefully people who have concrete solutions will generalize their solutions so they can be shared with others. That's what we're trying to encourage.
We estimate that there's a lot of work bound up in project's maven.xml that is not being shared and we'd like to try and change that. We plan to make it dead simple to share plugins and hopefully people can use other project's plugins as a start for a plugin that they may need themselves.