| <?xml version="1.0"?> |
| <faqs title="Information for Maven 1.0 Users"> |
| |
| <part id="maven1"> |
| <faq id="changed"> |
| <question>What's Changed?</question> |
| <answer> |
| <p> |
| Maven 2.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: |
| </p> |
| <ul> |
| <li> |
| <i>Faster and smaller</i> |
| - The Maven core no longer uses Ant, Jelly or Xerces making it much smaller, has |
| fewer dependencies, and is perfect for embedding in other tools. |
| </li> |
| <li> |
| <i>Defined build lifecycle</i> |
| - No more |
| <code>prereqs</code> |
| , |
| <code>preGoals</code> |
| and |
| <code>postGoals</code> |
| . |
| The build is a series of well defined phases. This also means that the normal goal names are not used - |
| <code>compile</code> |
| , |
| <code>test</code> |
| and |
| <code>install</code> |
| work for any project type. |
| </li> |
| <li> |
| <i>Built-in multiple project handling</i> |
| - Use the same goals on a set of projects, and aggregate the |
| results. |
| </li> |
| <li> |
| <i>Improved |
| <code>SNAPSHOT</code> |
| handling |
| </i> |
| - Snapshots are now checked for updates only once per day by |
| default - though can be configured to be once per build, on a particular interval, or never. A command line |
| option can force a check - making it more like updating from an SCM. |
| </li> |
| <li> |
| <i>No more properties files</i> |
| - All plugins are now configured from the POM (which is now called |
| <code>pom.xml</code> |
| ). |
| </li> |
| <li> |
| <i>No more |
| <code>maven.xml</code> |
| </i> |
| - Plugins are now easier to build and integrate, and are the only way |
| to script your builds. (Note that additions may later be made to the POM to allow simple things that |
| scripting |
| was used for, such as goal aliasing). |
| </li> |
| <li> |
| <i>No more Jelly</i> |
| - Plugins are primarily written in Java, though there are providers for other scripting languages. |
| </li> |
| <li> |
| <i>Improved repository layout</i> |
| - Maven 2.0 supports both the existing layout, and an improved repository |
| layout that has deeper, partitioned structure making it easier to browse. |
| </li> |
| </ul> |
| </answer> |
| </faq> |
| <faq id="m1-or-m2"> |
| <question>Should I use Maven 2.0, or Maven 1.0?</question> |
| <answer> |
| <p> |
| Maven 2.0 is the latest stable release, and we certainly recommend it for all new projects. |
| </p> |
| <p> |
| If you are already using Maven 1.0 - you should try out Maven 2.0, as it is very much improved. |
| However, we still continue to support the Maven 1.x releases at this time. |
| </p> |
| <p> |
| If you do use Maven 1.0, and would like to upgrade in the future, you should carefully consider following some |
| of the |
| <a href="http://maven.apache.org/using/bestpractices.html">Best Practices</a> |
| listed. These will make your project a lot easier to migrate in the future. |
| </p> |
| <p> |
| The following are the known limitations in the current Maven 2.0 release compared to Maven 1.x: |
| </p> |
| <ul> |
| <li> |
| <i>Availability of plugins</i> |
| - While most of the core Maven 1.x plugins have been converted, |
| several 3rd party plugins may not be available. Maven 2.0 cannot execute Maven 1.0 plugins. |
| </li> |
| </ul> |
| </answer> |
| </faq> |
| <faq id="m1-future"> |
| <question>What will happen to Maven 1.0?</question> |
| <answer> |
| <p> |
| Maven 1.0.2 continues to work, and a 1.1 release is still under way. While significant new features will not |
| be added to the Maven 1.0 core (such as transitive dependencies), bugfixes and support continue and the |
| repository is still available. Features from Maven 2.0 may be included in Maven 1.1 where possible. |
| </p> |
| <p> |
| An end-of-life for Maven 1.0.2 will be announced when this is decided - but there are currently no plans for |
| this to happen. |
| </p> |
| </answer> |
| </faq> |
| <faq id="m1-plugins"> |
| <question>Will my Maven 1.0 plugins be supported?</question> |
| <answer> |
| <p> |
| Not directly. |
| </p> |
| <p> |
| 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. |
| </p> |
| </answer> |
| </faq> |
| <faq id="m1-maven-xml"> |
| <question>How do I write custom scripts without a |
| <code>maven.xml</code> |
| file? |
| </question> |
| <answer> |
| <p>Taken from |
| <a href="http://mail-archives.apache.org/mod_mbox/maven-users/200504.mbox/%3c1113788711.5625.30.camel@172.16.1.36%3e"> |
| this post to the Maven User's List</a> |
| : |
| </p> |
| <blockquote> |
| 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 psuedo 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. |
| </blockquote> |
| <blockquote> |
| 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. |
| </blockquote> |
| </answer> |
| </faq> |
| <faq id="convert"> |
| <question>How do I convert from Maven 1.x to Maven 2.x?</question> |
| <answer> |
| This is dicussed in <a href="http://maven.apache.org/guides/mini/guide-m1-m2.html">Guide to Moving from Maven 1.x to Maven 2.x</a>. |
| </answer> |
| </faq> |
| </part> |
| </faqs> |
| |