| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <faqs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns="http://maven.apache.org/FML/1.0" |
| xsi:schemaLocation="http://maven.apache.org/FML/1.0 https://maven.apache.org/xsd/fml-1.0.xsd" |
| title="Information for Maven 1.0 Users"> |
| <part id="maven1"> |
| <faq id="changed"> |
| <question>What's Changed?</question> |
| <answer> |
| <p> |
| 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: |
| </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 (not Maven 3), 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.x, Maven 3.x, or Maven 1.0?</question> |
| <answer> |
| <p> |
| Maven 3.x 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 3.x, 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="https://maven.apache.org/maven-1.x/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.x release compared to Maven 1.x: none. |
| </p> |
| <p> |
| The following are the known limitations in the current Maven 3.x release compared to Maven 1.x: |
| </p> |
| <ul> |
| <li>Maven 1 repository layout is not supported</li> |
| </ul> |
| </answer> |
| </faq> |
| <faq id="m1-future"> |
| <question>What will happen to Maven 1.0?</question> |
| <answer> |
| <p> |
| 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 |
| <a href="https://maven.apache.org/maven-1.x/">Maven 1.x</a> core |
| (such as transitive dependencies), bugfixes and support continue and the |
| repository is still available. |
| </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="https://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 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. |
| </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 or 3.x?</question> |
| <answer> |
| This is discussed in <a href="https://maven.apache.org/guides/mini/guide-m1-m2.html">Guide to Moving from Maven 1.x to Maven 2.x</a> |
| (Maven 3.x is mostly equivalent to Maven 2.x). |
| </answer> |
| </faq> |
| </part> |
| </faqs> |