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 50 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 - runs as a service on windows and unix

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

Performance

 

 

 

Memory Size out of the box

128mb

128mb

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

Spring

Spring

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)
Fully extensible across the core components, REST API and UI. See herefor more info.

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
  fix bad checksums
  block bad checksums
  ignore bad checksums
  repair hosted checksums
  calculate missing checksums


(tick)
(tick)
(tick)
(tick)
(tick)


(tick)
(tick)
(tick)
(tick)
(tick)


(tick)
(tick)
(tick)
(tick)
(tick)

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 Nexus 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

currently in the works

Supports Nexus 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 polluting 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.

Repository Statistics

(tick)
Per repository or as a comparison among multiple repositories

(question)

(question)

RSS Feeds for New Artifacts

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

(question)

(tick)
Feeds for:
Newly Proxied Artifacts
Newly Deployed Artifacts
System Configuration Changes
Checksum errors

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

(tick)
POM information, dependencies, dependency tree and used by; artifact (including pom, sources, javadocs, etc.) can also be downloaded from artifact info page

(question)

(question)

Delete Artifacts

patch already available in the community, just needs to be tested and applied

(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 and performance.

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)

in future plans

(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.(see next entry)

API to retrieve lastest SNAPSHOT based on coordinates

(question)

(question)

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

(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

(tick) Pro version has full, flexible LDAP support that can also handle Active Directory.

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

(question)

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