Maven 3.0.2

The Apache Maven team would like to announce the release of Maven 3.0.2.

Maven 3.0.2 is available for download.

Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central place.

Maven 3 aims to ensure backward compatibility with Maven 2, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.

The core release is independent of the plugins available. Further releases of plugins will be made separately. See the Plugin List for more information.

We hope you enjoy using Maven! If you have any questions, please consult:

Maven 3.0.2 Release Notes

Maven 3.0.2 is a maintenance release to address various regressions/bugs and to deliver other minor improvements. The new version 3.0.2 is a recommended update for anybody currently using Maven 3.0.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes before reporting any issues regarding changed build behavior in Maven 3.x.

Release Notes - Maven - Version 3.0.2 (since 3.0.1 only)


  • [MNG-4840] - Prerequisites is not working on m3
  • [MNG-4913] - [regression] User properties override equally named POM properties of transitive dependencies
  • [MNG-4915] - Versions in pom.xml are not checked for invalid characters
  • [MNG-4918] - MavenProject#clone() doubles active profiles
  • [MNG-4919] - Plugin execution contributed by lifecycle mapping gets lost when same goal is bound multiple times
  • [MNG-4923] - [regression] java.lang.ClassNotFoundException: org.apache.maven.artifact.ArtifactStatus
  • [MNG-4925] - Mismanagement of container lookup realm can cause type incompatibilities for plugins looking up components by string
  • [MNG-4933] - With a resource directory as . maven raise an java.lang.StringIndexOutOfBoundsException:217
  • [MNG-4941] - PluginDescriptorBuilder doesn't populate expression/default-value fields for mojo parameters
  • [MNG-4952] - [regression] RELEASE field of repository metadata is not updated upon repeated deployments
  • [MNG-4955] - [regression] Outdated remote snapshots are preferred over locally installed snapshots
  • [MNG-4960] - [regression] Make-like reactor mode does not build selected project when resuming from one of its prerequisites
  • [MNG-4966] - Preserve double slashes in the scm connection url - identifies absolute repository paths for mercurial


  • [MNG-4912] - Use of raw type should be ComparableArtifactVersion
  • [MNG-4916] - Poor performance for projects with unresolvable extension plugins
  • [MNG-4922] - ExecutionEvent give on the exception encountered (when having mojoFailed)
  • [MNG-4926] - ExecutionEvent give on the exception encountered (when having projectFailed , forkedProjectFailed)
  • [MNG-4944] - Include JRE vendor in version info
  • [MNG-4950] - Javadoc improvements to DefaultSettingsWriter/Reader
  • [MNG-4953] - Issue a warning when a system-scope dependency refers to the project basedir

New Feature

  • [MNG-4936] - Allow to better monitor and adjust a Maven build during CI
  • [MNG-4937] - Allow the platform scripts to avoid loading mavenrc content


  • [MNG-4945] - Remove mergeId from public POM
  • [MNG-4957] - Emit validation warning when project version uses irregular SNAPSHOT version string
  • [MNG-4959] - Update default plugin versions