What Is New in Apache Maven 3.5
Maven 3.5 delivers a set of core improvements focused on performance, dependency resolution, and developer experience. The key updates are summarized in the table below.
| Category | Key Changes |
|---|---|
| Core & Performance | New parallel build capabilities, improved core extensions, and a more resilient build system. |
| Dependency Resolution | Enhanced resolver with version range fixes, improved conflict resolution, and better messaging. |
| Developer Tooling | Better Maven Invoker, Maven Resolver, and Maven Verifier tooling for plugin authors. |
| Bug Fixes | Numerous fixes for issues in the Maven core, plugins, and shared components. |
How does Maven 3.5 speed up my build process?
This version introduces parallel build capabilities to utilize multiple CPU cores. In practice, this means Maven can resolve dependencies and build project modules concurrently, significantly cutting down build times for large, multi-module projects.
The core extensions have also been hardened, making the entire build lifecycle more efficient and less prone to failures that would cause a full rebuild. This matters because it directly impacts developer productivity and CI/CD pipeline throughput.
What was improved in dependency management?
The Maven Resolver, the engine behind dependency resolution, received substantial upgrades. It now handles version ranges more intelligently and provides clearer error messages when conflicts occur.
You'll see fewer cryptic errors when dealing with complex dependency trees. The resolver also got smarter about conflict resolution, making builds more deterministic and reliable, which is crucial for reproducible builds.
Are there updates for Maven plugin developers?
Yes, the tooling for plugin authors saw notable improvements. The Maven Invoker, used for integration testing plugins, and the Maven Verifier were enhanced for better stability and functionality.
These updates provide a more robust foundation for developing and testing plugins, ensuring the entire Maven ecosystem remains stable. This is a behind-the-scenes change that benefits everyone by improving plugin quality.
FAQ
Does Maven 3.5 change how I declare dependencies in my POM?
No, your existing pom.xml files will work without modification. The changes are in the resolution engine, not the declaration syntax.
Is the parallel build feature enabled by default?
No, you typically need to activate it with a command-line flag like -T to specify the number of threads. This gives you control over resource usage.
Will this update break my existing plugins?
It shouldn't. The core improvements are designed to be backward compatible. However, always test your build process after upgrading, as with any tool update.
What's the most significant bug fix in this release?
Fixes for handling version ranges in the dependency resolver are among the most impactful, as they resolve issues where Maven would previously select unexpected or broken versions.
Where can I find the full list of changes?
The complete release notes for each 3.5.x version are available on the official Apache Maven website, detailing every bug fix and improvement.