Latest in branch 3.0
3.0.5
Released 19 Feb 2013
(13 years ago)
SoftwareApache Maven
Version3.0
Status
End of life
RequirementJava 5
Initial release3.0
04 Oct 2010
(15 years ago)
Latest release3.0.5
19 Feb 2013
(13 years ago)
End of life28 Jun 2013
(Ended 12 years, 11 months ago)
Release noteshttps://maven.apache.org/docs/3.0.5/release-notes.html
Source codehttps://github.com/apache/maven/tree/maven-3.0.5
Documentationhttps://maven.apache.org/ref/3.0.5/
Downloadhttps://mvnrepository.com/artifact/org.apache.maven/maven-core/3.0.5
Apache Maven 3.0 ReleasesView full list

What Is New in Apache Maven 3.0

Maven 3.0 is a major overhaul focused on performance, stability, and architectural improvements. It's designed to be backward compatible while laying the groundwork for future enhancements.

Category Key Changes
Performance Faster build times, parallel build capabilities, and a new concurrency-focused core.
Architecture New Project Builder API, POM processing model, and dependency resolution.
Compatibility Backward compatible with Maven 2, but removes deprecated components.
Error Reporting Improved console output and error messages for easier debugging.
Extensions New APIs for core extensions and plugin development.

How does Maven 3.0 improve build performance?

The core is rebuilt for concurrency, enabling parallel builds right out of the box. This means multi-module projects can build much faster by processing modules simultaneously.

In practice, you can use the -T flag to specify the number of threads. For example, mvn -T 4 clean install will use four threads. The internal dependency resolution and project building algorithms were also optimized for speed, reducing overall build time significantly compared to Maven 2.

What architectural changes were made to the core?

Maven 3.0 introduced a new Project Builder API that completely changed how POMs are processed. This new system is more robust and provides a solid foundation for future features.

The dependency resolution process was also reworked, making it more predictable and less prone to the classpath issues that sometimes plagued Maven 2. This matters because it leads to more reliable and reproducible builds across different environments.

Is my existing Maven 2 build going to break?

No, backward compatibility was a primary goal. Your existing Maven 2 POMs and plugins should work without modification in Maven 3.0.

However, the build might output warnings for APIs and Maven 2 features that are now deprecated. This gives you a heads-up to eventually modernize your build scripts without causing immediate failures.

How is error handling and reporting better?

Console output is cleaner and more structured. When something goes wrong, Maven 3.0 provides more contextual error messages that point directly to the problem.

You'll spend less time deciphering stack traces. The improved reporting makes it easier to identify whether an issue is in your POM, a plugin, or a dependency, which speeds up debugging considerably.

What about extensibility and plugins?

New APIs were introduced for developing core extensions, allowing for deeper integration points than traditional plugins. This opens up possibilities for more powerful tooling built on top of Maven.

For plugin authors, the new architecture provides a more stable environment. While most Maven 2 plugins work, the new APIs are designed for the concurrency and performance features of Maven 3.

FAQ

Can I run Maven 3.0 alongside Maven 2 on the same machine?
Yes, absolutely. They install into different directories and are completely independent. Just make sure your PATH environment variable points to the version you want to use.

Do I need to rewrite my plugins for Maven 3.0?
Most Maven 2 plugins work without changes. You should only need to update them if you want to use new Maven 3.0-specific APIs or if you were using internal APIs that were removed.

What is the most significant performance gain?
Parallel builds of multi-module projects (-T option) often provide the most dramatic speed improvement, especially on modern multi-core machines.

Are there any known compatibility issues?
The main issues are with plugins that relied on internal Maven 2 APIs, which were changed or removed. The build will warn you if it detects such a plugin.

How do I activate parallel builds?
Use the command-line option -T followed by the number of threads, e.g., mvn -T 4 clean install. You can also specify a multiplier like -T 1C to use one thread per core.

Releases In Branch 3.0

VersionRelease date
3.0.519 Feb 2013
(13 years ago)
3.0.417 Jan 2012
(14 years ago)
3.0.328 Feb 2011
(15 years ago)
3.0.209 Jan 2011
(15 years ago)
3.0.123 Nov 2010
(15 years ago)
3.004 Oct 2010
(15 years ago)
3.0-beta-330 Aug 2010
(15 years ago)
3.0-beta-207 Aug 2010
(15 years ago)
3.0-beta-119 Apr 2010
(16 years ago)
3.0-alpha-709 Mar 2010
(16 years ago)
3.0-alpha-606 Jan 2010
(16 years ago)
3.0-alpha-523 Nov 2009
(16 years ago)
3.0-alpha-413 Nov 2009
(16 years ago)
3.0-alpha-309 Nov 2009
(16 years ago)
3.0-alpha-205 Feb 2009
(17 years ago)
3.0-alpha-107 Jan 2009
(17 years ago)