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 |
" |
can publish 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 |
no manual activation |
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 |
System scoped (tools.jar) |
can be used transitively |
|
|
jar overrides |
Dependency reports |
currently basic tabulated report |
|
multi-page tabulated report |
|
Eclipse plugin |
in progress |
|
|
Mevenide |
Deployment |
pluggable: file, scp, scpexe, http, ftp, sftp, scm |
" |
file only |
file, scp, scpexe, ftp, sftp |
Mirrors |
can use mirror for any repository, automatic mirroring planned |
planned |
|
|
Maven 1.x Repository (non-transitive) |
|
|
|
|
Maven 2.x Repository (transitive) |
|
|
|
|
Ivyrep (transitive) |
|
|
|
|
Multiple repository support |
separate snapshot and release repository, per project repository |
" |
probably can list multiple repositories from build |
can list multiple repositories from build |
|
Maven 1.x Repository |
Maven 2.x Repository |
Ivyrep |
---|---|---|---|
Size |
8000+ |
8000+ |
30 |
Immediate Synchronize of OSS Releases |
|
|
|
Artifacts |
|
|
|
User uploads to central repository |
|
|
|
Open sandbox repository |
|
|
|
Site Management
|
Maven 2.x |
Maven 1.x |
Anakia |
---|---|---|---|
Plain text input |
|
|
|
XDoc input |
|
|
|
Docbook input |
|
|
|
XHTML input |
|
|
|
FAQ input |
|
|
|
Confluence input |
in progress |
|
|
XHTML output |
|
|
|
PDF output |
planned |
|
|
Reporting integration |
|
|
|
Streaming |
|
|
|
Skinnable |
Velocity |
JSL |
|
Furniture customisation |
|
|
|
Breadcrumbs |
|
|
|