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

Lesser GNU General Public License 3.0

GNU General Public License 3.0

Public Instances

Deployment

 

 

 

Standalone

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

(tick)
Jetty - runs as a service on Windows and Unix. Complete script for installation as a service on unix, includes: user creation, permission settings and service config.
Complete script for installing a standalone Tomcat service on Unix.

(tick)
  Embedded Jetty. JSW launch scripts - runs as a service on windows and unix. Also Native Solaris Service Manager Scripts.

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 UI with extensive online help, or REST API

(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 Repository Groups

(question)

(tick)

(tick)

Inclusion/exclusion rules per remote proxy

(tick)

(tick)

(error)
Uses a different approach to optimize lookups made through groups (which is the best practice), or by using procurement included in Pro.

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


(tick)
(tick)
(tick)
(tick)
(tick)
(question)


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


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

Maven Metadata.xml repair

(tick)

(tick)
Not needed: Maven metadata.xml is always correct for locally stored artifacts, and always in synch with all repository operations.

(tick)

Auto-cleanup of repositories declared in POMs

(error)

(tick)
Can remove external repository declarations in POMs (which is bad practice): Cleanup of repos used in active profiles, cleanup all repos or no cleanup.

Nexus does not manipulate poms that it proxies. This breaks the web of trust by invalidating pgp signatures to downstream users. Nexus maintains signatures and license headers.

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 by design.

(tick)

Eager parallel download of related artifacts

(error)

(tick)
Can download jars in parallel as soon as poms are requested, and sources in parallel when jars are requested.

(error)

Shared Remote Repository Definitions

(error)

(tick)
Share remote repository definitions and import preconfigured definitions for most common remote repositories, save the configuration hassle.

(error)

Eclipse Update Site Proxying

(error)

(error)

(tick)
- Pro

Eclipse OSGI / P2 Proxying

(error)

(error)

(tick)
- Pro

OBR (OSGI Bundle Repository)

(error)

(error)

(tick)
- Pro

Maven Site Hosting

(error)

(error)

(tick)
- Pro

Indexing/
Search




Index Format

Lucene

Lucene

Lucene

Known Consumers and Producers of this format

M2Eclipse
IAM (via web services)

M2Eclipse
Supports M2Eclipse indexes, but does not consume them. Artifactory manages its own JCR-based indexes.

M2EclipsePlugin consumes

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)

(tick)
Not needed - indexes are always up-to-date

(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

(tick)

(tick)

(tick)

Group Index Publishing

(error)
Groups not supported

(tick)

(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

Incremental Index Downloads

(error)

(error)

(tick)

Incremental Index Publishing

(error)

(error)

(tick)

Class search

(tick)

(tick)
Includes search for any jar resource, and showing the actual class found

(tick)

 

 

 

 

GAVC search

(tick)

(tick)

(tick)

POM/XML search

(error)

(tick)
Includes XPath search of any XML metadata.
No need to customize anything for XML indexing.

(error)

Ivy modules search

(error)

(tick)

(error)

Properties search

(error)

(tick)
Search custom properties. Attach props to both files and folders via the UI (paid add-on) or via REST (OSS).

(tick)
Custom metadata may be attached via the UI, Rest or by uploading an RDF file as part of your build. The metadata is indexed and searchable. (Pro)

Navigate to artifacts tree browser from search result

(question)

(tick)

(error)

Reports




Report for Problem Artifacts

(tick)

Intentionally blocks bad poms in runtime instead of polluting your repository and reporting after the fact (policy is configurable via UI)

(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

(tick)
Number of stored artifacts. More stats coming.

(question)

Artifact Statistics

(question)

(tick)
Download count.
Last downloaded and by whom.
Deployed by.
Age.

(error)

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

(error)
In development.

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

Artifact Watching

(error)

(tick)
Supports watching any repository path for add/remove/update and receiving email notifications (paid add-on).

(error)

Audit Logs

(tick)
currently viewable from text file only

(tick)
Detailed audit logs for all actions and their sources in access.log

(tick)
 

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

(tick)
POM view, size, deployed by, age, last downloaded and by whom, times downloaded, dependency info, permissions, metadata and properties, virtual repositories association, actions, builds + build information.

(tick)

Delete Artifacts

(tick)

(tick)

(tick)

Move Artifacts

(error)

(tick)
Move artifacts between repositories + dry-run to check for warnings + auto metadata recalculation.

(error)
Moving artifacts is avoided by using the staging support in Pro.

Copy Artifacts

(error)

(tick)
Copy artifacts between repositories + dry-run to check for warnings + auto metadata recalculation (no extra space used due to pointer-based storage).

(error)
We don't recommend artifact duplication.

Upload Artifacts

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

(tick)
With our without pom (will generate one if needed).
Upload multiple artifacts in one go.
Edit the pom before deployment.
Deploy to arbitrary (non-maven) paths via the UI.

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

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

(tick)
Extension points to UI and request processing

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

UI Branding

(question)

(tick)
Upload or link you own logo image and add custom footer text.

(tick)
Branding with Logo is available (Pro).

Repository Support




Maven 2

(tick)

(tick)

(tick)

Maven 1

(tick)

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

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

Store same binary only once

(error)

(tick)
Artifacts with the same hash are stored a single time, no matter in how many repositories it appears

(error)
we don't recommend copying artifacts, so in practice this doesn't matter.

Artifact Deployment

- uses dav

- UI support for deploying artifacts + full REST (GET/PUT/HEAD, DELETE etc.)

- uses http put /get via full REST api (also supports HEAD / DELETE etc)

Supports WebDAV

(tick)

(tick)
Also includes move support via WebDAV

(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)
Includes snapshots and ability to auto-generate poms and edit pom before deployment.

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

(tick)

(tick)

Import local repositories

(tick)

(tick)

(tick)

Import repositories and separate RELASE and SNAPSHOT artifacts

(question)

(tick)

(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 (to save space and artifacts clutter) 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 latest SNAPSHOT based on coordinates

(tick)

(tick)

(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 (when by whom), original deployer, age

(tick)

User attached custom metadata

(error)

(tick)
On both files or folders - no need to customize anything.

(tick)

Searchable custom metadata

(error)

(tick)
Including unique moving, copying & exporting of  search results .

(tick)

Strongly-typed user-defined Properties

(error)

(tick)
Tag files and folders with you user defined searchable properties via the UI.
Prop-sets defined through UI as single/multi select or open, with the ability to assign default values, and associated with selected repos (paid add-on).

(error)

Attach metadata as part of deployment

(error)

(tick)
Attach metadata during Maven deployment or via simple REST - uploading external documents not required.

(tick)
Full RDF metadata support.

Security




Framework

Redback (database required)

Spring Security (Acegi)

Apache Shiro (formerly known as Jsecurity)

Role Based

(tick)

(tick)

(tick)

Default Roles

(question)

(tick)
Supports auto-join roles for newly created users, including ones from external realms

(/) Users inherit default roles when they sign up.

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

in future plans

(tick)

(tick)

Control over who can populate caches

(question)

(tick)

(tick)
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. Supports inclusion and exclusion so no need to used negative patterns for protecting sources etc.

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

Able to use LDAP groups (authorization from ldap)

(question)

(error)
Coming soon as a paid add-on

(tick)
Only Pro

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

(question)

(tick)
With control of whether to fallback to internal users or not.
Including Kerberos and native NTLM via paid add-on.

(tick)
ordered control of cascading though configured realms -- as many as you have installed.

Secured settings.xml passwords

(error)
functionality already available in Maven 2.1.0

(tick)
Centrally-controlled encrypted password policy so admins do not have to rely on clients security policy. Auto-generated encrypted passwords can be used in your settings.xml or with non Maven REST clients, such as Ivy, Gradle etc.
Overcomes Maven drawbacks - Maven decrypts the password to clear-text on the client, and keeps a clear-text master password on the filesystem.

(error)
(we added the functionality to Maven core - 2.1.0)

Database




Database available for querying

(tick)
configurable by datasources

(tick)
Can be queried, but can also use JCR or REST API

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

Can run without database

(tick)
Use by default an embedded Derby DB

(tick)
Can use file-system storage. Database usage is recommended for fully transactional behavior of metadata not extractable from the artifact itself.

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

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

(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

(tick)
REST API

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

 Plugins Available

Pluggable repository consumers (ex. indexing consumer, repository purge consumer)

Pluggable security realms.
Build Integration - Use the Hudson Artifactory Plugin to deploy builds to Artifactory from Hudson together with build-time information. View builds in Artifactory with information about the deployed artifacts and dependencies (all scopes) and runtime environment per build, and link back to Hudson to obtain fully-reproducible builds (some functions only in paid add-on).
Smart Searches and Promotion (paid add-on) to aggregate multiple search results and operate them in one go.
Properties (paid add-on) to define custom searchable property sets and apply them to artifacts and folders.
Watches (paid add-on) to watch any repository path and receive focused email notifications.
Pluggable HTTP SSO (paid add-on) to reuse exiting SSO infrastructures, such as Apache mod_ntlm, mod_kerberos, etc.
Web Start/JavaFx (paid add-on) to deploy, host and serve dynamic modular Web Start applications.

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 (OSS) - Allows authentication with LDAP and Active Directory servers.
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.
Nexus Configuration Backup (Pro) - Schedule full backup of the configuration files
Team Settings Synchronization (Pro) - Allows an admin to define a Maven settings.xml template that can be downloaded and inserted with the nexus-maven-plugin. This allows easy team synchronization of settings.xml
Maven Site Plugin (Pro) - Allows deployment and hosting of your maven generated sites directly inside of Nexus. No more messing with webdav other other tools to host your sites.
Eclipse Update Site/ P2 OSGI Plugin (Pro) allows hosting and proxying of P2 repositories. This supports not only your built artifacts, but it is able to proxy and aggregate Eclipse Update sites to make management of your developer population easier.
OSGI Bundle Repository Plugin (Pro) supports deploying, hosting, proxying and converting OBR artifacts from M2.

Commercial Support

 

 

 

Cost

(question) Exist

(tick) JFrog
US$1,750 with the Artifactory Add-ons Power Pack

(tick)
US$2995 included with Nexus Pro

  • No labels