Maven Repository Manager Feature Matrix

Features Matrix Comparison

FEATURES Archiva Artifactory Nexus
 ScreenShots
Release History
Release history Release History Release history
Nexus descended from Proximity, which was the first MRM available. It was updated architecturally to be lighter and faster using the lessons learned from Proximity. Nexus also has the most active release cycle with Major releases every 6 weeks and minor releases much more frequently.
License Apache License 2.0 Apache License 2.0 GNU General Public License 3.0
Deployment
     
Standalone
Embedded Jetty. JSW launch scripts - runs as a service on windows and unix

Jetty - runs as a serice on windows and unix. Complete script for installation as a service on unix, including user creation, permission settings and service config.
Tomcat - Complete script for installing a standalone Tomcat service on unix.
(optionally use the ARTIFACTORY_HOME variable)

  Embedded Jetty. JSW launch scripts - runs as a service on windows and unix.
War
"Drop the War" - deploy into any servlet container with zero configuration.

no container configuration required to run the war.
Performance      
Memory Size out of the box
128mb
128mb
28mb
Configuration


UI configurable

Partially

Fully configurable via Ajax web UI and extensive online help

100% configuration with Ajax UI or REST API
Config Storage
XML
XML
XML
Extensibility/
Orthogonality



IOC Spring
Spring
Plexus
REST Api


Uses Jersey. Can be called directly or using the artadmin CLI.

Uses Restlet.org servlet. UI communicates with server via REST to ensure 100% api support
Deploy plug-ins without recompilation Being worked on

Fully extensible across the core components, REST API and UI. See herefor more info.
Proxying and Cache


Hosted Repositories

Proxy Repositories



Aggregate Repositories into single logical repo



Nest and reuse Repository Groups

Checksum checking
  fix bad checksums
  block bad checksums
  ignore bad checksums
  repair hosted checksums
  calculate missing checksums





















Maven Metadata.xml repair
On the fly conversion of M1 to M2
with custom mappings for ambiguous paths

 

On the fly conversion of M2 to M1


Artifactory is a Maven 2 only repository manager by design.

Eclipse Update Site Proxying
- Pro
Eclipse OSGI / P2 Proxying
- Pro
Indexing/
Search



Index Format
Lucene
Lucene Lucene
Known Consumers and Producers of this format
None
Supports Nexus indexes
M2EclipsePlugin consumes

Artifactory consumes Nexus Indexes.

Nexus Indexer CLI tool produces

Identify unknown artifact via checksum


On the fly indexing

Immediate and transactional 

Scheduled Indexing

Not needed

(Not needed in most cases, but manual reindex is available in case changes are made directly to storage external to the app)
Index Publishing for External Consumption
currently in the works
Supports Nexus 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
Incremental Index Downloads
Reports


Report for Problem Artifacts

Intentionally blocks bad poms in runtime instead of polluting your repository and reporting after the fact. (configurable)

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.
Repository Statistics

Per repository or as a comparison among multiple repositories


RSS Feeds for New Artifacts

RSS feeds available both for new artifacts in the repository and for newly deployed/discovered versions of a specific artifact

In development.

Feeds for:
Newly Proxied Artifacts
Newly Deployed Artifacts
System Configuration Changes
Checksum errors
Authentication Events
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
Viewing of Artifact Information

POM information, dependencies, dependency tree and used by; artifact (including pom, sources, javadocs, etc.) can also be downloaded from artifact info page
Delete Artifacts
patch already available in the community, just needs to be tested and applied

Upload Artifacts


With our without pom (will generate one if needed)

With our without pom (will generate one if needed)
Upload multiple artifacts (classifiers) at once.
Task Scheduler


 

 
Reindex, Rebuild Attributes, Publish Group Index, Snapshot Cleanup, Stale Artifact Purge, Rebuild/Correct Maven Metadata
Configure deployed plug-ins
proxy policies, artifact processors
currently being worked on

Plugins can contribute REST, UI and components.
Repository Support


Maven 2
Maven 1

Artifactory is a Maven 2 only repository manager by design.
Repository Storage
File System
Database (Derby/configurable) + full system import/export to file system
File System - Uses M2 layout on disk meaning no import or export required to get access to your artifacts.
Artifact Deployment - uses dav - UI support for deploying artifacts + full REST
- 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 and performance.
No Wagon Extension Required (works with lightweight-http)
Deploy Artifacts via UI

Including snapshots and ability to auto-generate poms

can auto-generate poms.Accepts multiple files in one operation to accept classified/attached artifacts.


Manual deploying of SNAPSHOTs is not allowed as this is bad practice. 3rd party SNAPSHOTS should get converted to an internal release version so you can reliably use them in your builds.
Deploy Artifact Bundles (multiple artifacts in one go)
in future plans
Import local repositories

Import repositories and separate RELASE and SNAPSHOT artifacts

Releases and Snapshots should be kept in separate repositories. The import tools can separate these artifacts for you into discrete repositories.
Centrally controlled snapshot policy

Can choose between unique, non-unique or respect deployer's settings

Respect deployer's settings (from the pom)
Nexus doesn't mess with your files. What you deploy is what you store.(see next entry)
API to retrieve lastest SNAPSHOT based on coordinates

This API is available regardless of the deployer settings. This means it's still able to maintain timestamped snapshots and provide simple static links that can be used to retrieve the latest one.
Artifacts Metadata
     
Persistent metadata about artifacts

Download stats, deployer, age.
Open extensible metadta via REST API.

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
Administrators per subset of repository
Allow external security

via Spring Security

via jsecurity realm
Allow external authentication

via Spring security

via jsecurity
Built-in enterprise user management features
via intuitive Ajax console

via Jsecurity + ExtJs user console. Full role based with the ability to specify permissions based on the path of the artifact (group/artifact/version) using regex if desired.
Support Prevention of Redeploy
Control over who can populate caches

Fully featured procurement support included in the pro version. This allows absolute control over the artifacts allowed through based on the artifact and user.
Support Protection of Sources / javadoc etc

Using Ant-like simple to understand patterns + OOTB templates for common include/excludes

Using the regex to control the paths, it is possible to secure separately any artifacts you want. Comes configured with targets to specify sources, which would allow you for example to have jars be downloaded anonymously but not the sources, even though they are sitting in the same repository.
Out of the box LDAP support
Configurable via the web UI
Pro version has full, flexible LDAP support that can also handle Active Directory.
Supports multiple realms in order (ie LDAP then fallback to internal)

With control of whether to fallback to internal users or not

ordered control of cascading though configured realms -- as many as you have installed.
Secured settings.xml passwords

Auto-generates encrypted passwords for settings.xml

(we added the functionality to Maven core - 2.1.0)
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

Can use file-system-based storage, but database usage is preferred and is required for fully transactional behavior support.

- does not use a database - self heals metadata
Documentation - available docs: site, wiki
- live instances: vmbuild, Atlassian, Exist (includes searchable Central repository)
- available doc: site, wiki, User Guide
- Live browsable and searchable 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.
Bulk Removal of Old Module Versions

Select multiple artifacts across directories, by version and clean them all up in one go, or select any section of the repository tree to delete.

You can select any section of the repository tree to delete, just like you would do on a file system.
Web Services
XMLRPC support in 1.2-M1

REST API
-full support: The Ajax communicates with the server via REST so all operations are available for Web service integration
 Plugins Available

No Documented API

Pluggable security realms.
Nexus Crowd Plugin- provides security integration with Atlassian Crowd.
Nexus LVO Plugin - is a plugin for publishing "latest version of" over Nexus' REST API
Nexus Archetype Plugin - is a plugin for on-the-fly publishing of Maven Archetype Catalogs.
Nexus URL Realm - is a security realm that authenticates a user by attempting to login to a secured http/https url. This allows integration with anything supported by httpd or other web server.
Nexus Google Plugin - is a plugin for inserting Google Analytics code
Nexus LoopFuse - Plugin is a plugin for inserting LoopFuse code
Nexus LDAP Plugin(Pro) - Allows authentication/authorization with LDAP and Active Directory servers.
Nexus Staging and Promotion Plugin(Pro)- Creates temporary staging repositories on the fly and allows automatic promotion to release repositories
Nexus Procurement Plugin(Pro)- provides firewall like controll over the artifacts being downloaded from external and internal sources. Used to assist business processes that require dependency review like License validation.
Commercial Support      
Cost Exist JFrog
US$2995 included with Nexus Pro
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.