Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 40 Next »

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

(tick)
Embedded Jetty. JSW launch scripts.

(tick)
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)

(tick)
  Embedded Jetty. JSW launch scripts - runs as a service on windows and unix.

War

(tick)

(tick)
"Drop the War" - deploy into any servlet container with zero configuration.

(tick)
no container configuration required to run the war. Application configuration is via the Ajax UI or REST API

 Performance

 

 

 

Memory Size out of the box

128mb

128mb

(tick)
28mb

Configuration




UI configurable

(tick)
Partially

(tick)
Fully configurable via Ajax web UI and extensive online help

(tick)
100% configuration with Ajax UI or REST API

Config Storage

XML

XML

XML

Extensibility/
Orthogonality




IOC

(tick)
Spring

(tick)
Spring

(tick)
Plexus

REST Api

(error)

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

(tick)
Uses Restlet.org servlet. UI communicates with server via REST to ensure 100% api support

Deploy plug-ins without recompilation

(tick)

being worked on

(tick)

Proxying and Cache




Hosted Repositories

(tick)

(tick)

(tick)

Proxy Repositories

(tick)

(tick)

(tick)

Aggregate Repositories into single logical repo

(tick)

(tick)

(tick)

Nest and reuse Virtual Repositories

(question)

(tick)

(tick)

Checksum checking

Ability to fix,block or ignore artifacts with bad checksums. Can repair hosted checksums.

Ability to fail on bad checksums (block them), recalculate bad checksums, calculate only missing checksums or accept bad checksums (ignore them).

Ability to fail on bad checksums (block them), recalculate bad checksums, calculate only missing checksums or accept bad checksums (ignore them).
Can repair hosted checksums.

On the fly conversion of M1 to M2

(tick)
with custom mappings for ambiguous paths

(tick)
 

(tick)

On the fly conversion of M2 to M1

(tick)

(error)
Artifactory is a Maven 2 only repository manager.

(tick)

 

 

 

 

Indexing/
Search




Index Format

Lucene

Lucene

Lucene

Known Consumers and Producers of this format

None

Supports M2Eclipse indexes

M2EclipsePlugin consumes
<--- Artifactory consumes Nexus Indexes.
Nexus Indexer CLI tool produces

Identify unknown artifact via checksum

(tick)

(error)

(tick)

On the fly indexing

(tick)

(tick)
Immediate and transactional 

(tick)

Scheduled Indexing

(tick)

Not needed

(tick)
(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

(error)

Supports M2Eclipse indexes

(tick)

Group Index Publishing

(error)
Groups not supported

(question)

(tick)

Download Index from Remote Repositories for Local searching and proxying to consumers.

(error)

(tick)
 

(tick)
Known Indexes publishing compatible Index: Central, Java.Net, more here

 

 

 

 

Reports




Report for Problem Artifacts

(tick)

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

(tick)
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

?

(tick)

(tick)

Upload Artifacts

(tick)

(tick)
With our without pom (will generate one if needed)

(tick)
With our without pom (will generate one if needed)

Task Scheduler

(tick)

(tick)
 

(tick)
 
Reindex, Rebuild Attributes, Publish Group Index, Snapshot Cleanup, Stale Artifact Purge, Rebuild/Correct Maven Metadata

Configure deployed plug-ins

(tick)
proxy policies, artifact processors

currently being worked on

(tick)
Plugins can contribute REST, UI and components.

Repository Support




Maven 2

(tick)

(tick)

(tick)

Maven 1

(tick)

(error)
Artifactory is a Maven 2 only repository manager

(tick)

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

(tick)

(tick)

(error)
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)

(tick)

(tick)

(tick)

Deploy Artifacts via UI

(tick)

(tick)
Including snapshots and ability to auto-generate poms

(tick)
can auto-generate poms. 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)

(question)

(tick)

(question)

Import local repositories

(question)

(tick)

(tick)

Import repositories and separate RELASE and SNAPSHOT artifacts

(question)

(question)

(tick)
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

(question)

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

(error)
Respect deployer's settings (from the pom)
Nexus doesn't mess with your files. What you deploy is what you store.

Artifacts Metadata

 

 

 

Persistent metadata about artifacts

(question)

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

(question)

Security




Framework

Redback (database required)

Spring Security (Acegi)

Jsecurity

Role Based

(tick)

(tick)

(tick)

Permissions per repository

(tick)

(tick)

(tick)

Permissions per subset of repository or individual artifact

in future plans

(tick)

(tick)

Administrators per subset of repository

(question)

(tick)

(tick)

Allow external security

(error)

(tick)
via Spring Security

(tick)
via jsecurity realm

Allow external authentication

(tick)

(tick)
via Spring security

(tick)
via jsecurity

Built-in enterprise user management features

(tick)

(tick)
via intuitive Ajax console

(tick)
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

(error)

(tick)

(tick)

Control over who can populate caches

(question)

(tick)

(error)
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

(question)

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

(tick)
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

(question)

(tick)
Configurable via the web UI

(question)

Supports multiple realms in order (ie LDAP then fallback to internal)

(question)

(question)
With control of whether to fallback to internal users or not

(tick)

Secured settings.xml passwords

(error)

(tick)
Auto-generates encrypted passwords for settings.xml

(error)

Database




Database available for querying

(tick)
configurable by datasources

(tick)
configurable

n/a - Lucene index and REST api provided for searching.

Can run without database

(tick)
Use by default an embedded Derby DB

(error)
required for fully transactional behavior support

(tick)
- 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

(tick)
configurable by: retention count, # of days old and if released snapshots are to be deleted

(tick)
configurable by retention count

(tick)
configurable by: retention count, # of days old and if released snapshots are to be deleted 

Unused Proxy artifact purge

(error)

(error)

(tick)
Can evict unused artifacts from the proxy cache to conserve disk space.

Bulk Removal of Old Module Versions

(error)

(tick)
                                                        
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.

(tick)
You can select any section of the repository tree to delete, just like you would do on a file system.

Web Services

(tick)
XMLRPC support in 1.2-M1

(tick)
REST API

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

  • No labels