Features Matrix Comparison
| FEATURES | Archiva | Artifactory | Nexus |
|---|---|---|---|
| ScreenShots | |||
| Release History |
Release history | Release History | Release history |
| License | Apache License 2.0 | Apache License 2.0 | GNU General Public License 3.0 |
| Deployment |
|||
| Standalone | Embedded Jetty. JSW launch scripts. |
Jetty. Optionally set ARTIFACTORY_HOME in the environment |
Embedded Jetty. JSW launch scripts. |
| War | |
"drop the war" - deploy into any servlet container with zero configuration |
|
| Performance | |||
| Memory Size out of the box |
128mb |
128mb |
28mb |
| Configuration | |
|
|
| UI configurable |
Partially |
Security is fully UI configurable. Other settings by XML. |
100% configuration with Ajax UI or REST API |
| Config Storage |
XML |
XML |
XML |
| Extensibility/ Orthogonality |
|
|
|
| IOC | Spring |
Spring |
Plexus |
| REST Api |
|
currently being worked on |
Uses Restlet.org servlet. UI communicates with server via REST to ensure 100% api support |
| Deploy plug-ins without recompilation | |
|
|
| Proxying and Cache | |
|
|
| Hosted Repositories |
|
|
|
| Proxy Repositories |
|
|
|
| Aggregate Repositories into single logical repo |
|
|
|
| Checksum checking |
Ability to fix,block or ignore artifacts with bad checksums. Can repair hosted checksums. |
|
Ability to warn,block or ignore artifacts with bad checksums. Can repair hosted checksums. |
| On the fly conversion of M1 to M2 | with custom mappings for ambiguous paths |
|
|
| On the fly conversion of M2 to M1 |
|
|
|
| Indexing/ Search |
|
|
|
| Index Format |
Lucene |
Lucene | Lucene |
| Known Consumers and Producers of this format |
None |
Supports M2Eclipse indexes |
M2EclipsePlugin consumes Nexus Indexer CLI tool produces |
| Identify unknown artifact via checksum |
|
|
|
| On the fly indexing |
|
Immediate and transactional |
|
| Scheduled Indexing |
|
Not needed |
|
| Index Publishing for External Consumption |
|
Supports M2Eclipse indexes | |
| Group Index Publishing |
Groups not supported |
|
|
| Download Index from Remote Repositories for Local searching and proxying to consumers. |
|
|
Known Indexes publishing compatible Index: Central, Java.Net, more here |
| Reports | |
|
|
| Report for Problem Artifacts |
|
Blocks bad poms in runtime instead of reporting after the fact |
RSS Feeds and UI viewer for bad checksums and artifacts with bad poms. Bad poms are allowed through by default because many times Maven can still use them. We don't believe that simply inserting a repo manager should cause things to suddenly fail from Central. The repo man should for the most part be transparent by default. |
| User Interface | |
|
|
| UI Technology |
JSP |
Ajax - uses Apache Wicket |
ExtJs - Ajax |
| Repository Browsing |
html and webdav |
Ajax tree view, simple HTML view and webdav |
Ext Tree View, html, REST:xml, REST:json |
| Delete Artifacts |
? |
|
|
| Upload Artifacts |
|
With our without pom (will generate one if needed) |
With our without pom (will generate one if needed) |
| Task Scheduler |
|
|
Reindex, Rebuild Attributes, Publish Group Index, Snapshot Cleanup, Stale Artifact Purge |
| Configure deployed plug-ins | proxy policies, artifact processors |
|
Plugins can contribute REST, UI and components. |
| Repository Support | |
|
|
| Maven 2 |
|
|
|
| Maven 1 |
|
|
|
| Repository Storage |
File System |
Database (Derby/configurable) + full system import/export to file system |
File System |
| Artifact Deployment | - uses dav | - UI support for deploying artifacts | - uses http put /get via full REST api (also supports HEAD / DELETE etc) |
| Supports WebDAV | |
|
Which is intentional because Maven doesn't actually need the full WebDav protocol. Since Nexus handles the data on disk, the http PUT is all that is needed. The standard lightweight http wagon can be used for deployment. Most of the Java implementations for the server side are non-compliant. Nexus goes for simplicity. |
| No Wagon Extension Required (works with lightweight-http) |
|
|
|
| Deploy Artifacts via UI |
|
|
|
| Security | |
|
|
| Framework |
Redback (database required) |
Spring Security (Acegi) | Jsecurity |
| Role Based |
|
|
|
| Permissions per repository |
|
|
|
| Permissions per subset of repository or individual artifact |
in future plans | |
|
| Allow external security |
|
via Spring Security |
via jsecurity realm |
| Allow external authentication |
|
via Spring security, including MSAD/LDAP support |
via jsecurity |
| Built-in enterprise user management features | |
via intuitive Ajax console |
via Jsecurity + ExtJs user console |
| Supports multiple realms in order (ie LDAP then fallback to internal) |
|
|
|
| Database | |
|
|
| Database available for querying | configurable by datasources |
configurable |
n/a - Lucene index and REST api provided for searching. |
| Can run without database | Use by default an embedded Derby DB |
required for fully transactional behavior support |
|
| Documentation | - available docs: site, wiki - live instances: vmbuild, Atlassian, Exist (includes searchable Central repository) |
- available doc: site, wiki - has a live browsable demo |
- available docs: site, Online Book and Printed Book - live instancethat includes searchable Central repository |
| Repository Purge | |
|
|
| Snapshot Purge | configurable by: retention count, # of days old and if released snapshots are to be deleted |
configurable by retention count |
configurable by: retention count, # of days old and if released snapshots are to be deleted |
| Unused Proxy artifact purge |
|
|
Can evict unused artifacts from the proxy cache to conserve disk space. |
| Web Services | |
currently being worked on |
-full support: The Ajax communicates with the server via REST so all operations are available for Web service integration |
