This is a workspace for doing feature comparisons with other products. If you'd like to adjust or add a product here, please comment on the page.
Maven
Each of Maven's features needs to be compared against different products as it encompasses a number of pieces of functionality. It's also worth noting that some of these tools could be integrated into Maven via plugins.
Build Tools
Should compare Ant, Maven 1.x, Maven 2.x, make
Dependency Management
|
Maven 2.x |
Maven 2.x Ant Tasks |
Ivy |
Maven 1.x |
---|---|---|---|---|
Transitive dependencies |
|
|
|
|
Dependency ranges |
bounded, unbounded, multiple ranges |
" |
up to next major version (2.0+) |
|
Version comparison |
defined order (eg 0.10 > 0.9), pluggable version syntax planned, falls back to string comparison |
" |
string comparison only |
|
Conflict Resolution |
nearest, latest-time (snapshots), fixed. planned: newest (latest-revision), oldest, fail |
" |
all, latest-time, latest-revision, fixed |
|
Snapshots |
configurable timestamping, build numbering, update frequency |
" |
publishes 1 continuous integration build |
auto-updated timestamped build |
Profiles |
pluggable activators, as well as by id, jdk, OS, sys property for whole build process including deps |
planned |
single id configuration (must be defined consistently across all ivy configurations |
|
Scope |
defines known scopes for sensible build defaults, combined during transitivity |
" |
can use configurations in a limited way for this |
|
Non-java dependencies |
pluggable |
" |
|
|
Filtering |
can exclude dependencies from tree, apply a version globally |
when using POM |
|
N/A |
Multiproject |
order determined by dependencies, and build outputs can be used as the dependencies (even if not built to a jar |
|
|
only ordering |
Site Management
Rough first cut...