Release History
First released in mid 2006, Artifactory was the first repository manager to offer indexed searches, security controls and web 2.0 UI. Artifactory's development is user-needs driven, and is primarily focused on enterprise features.

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 History

All versions: Apache License 2.0

Lesser GNU General Public License 3.0
(early versions released under Apache License 2.0)

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

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.

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

War

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

Extensible with custom Groovy plugins - schedule tasks, deploy artifacts, change resolution rules and download content, tend to any storage events etc.
Plugin source files are redeployed on the fly during development and can be edited and debugged in your favorite IDE.

Fully extensible across the core components, REST API and UI. See the book and this post for more info.

Proxying and Cache

Hosted Repositories

Proxy Repositories

Aggregate Repositories into single logical repo

Nest and reuse Repository Groups

Groups can contain other groups

Inclusion/exclusion rules per remote proxy

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

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

Auto-cleanup of repositories declared in POMs

Can remove problematic external repository declarations in POMs exposed via virtual repositories: repos used in active profiles, any repos or no cleanup.
Only repo section is removed and the original POM is always stored inact in the underlying cache.

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

with custom mappings for ambiguous paths

On the fly conversion of M2 to M1

Artifactory doesn't support old M1 clients.

Eager parallel download of related artifacts

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

Includes search for any jar resource, and showing the actual class found.

GAVC search

POM/XML search

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

Ivy modules search

Properties search

Search custom properties. Attach props to both files and folders via the UI (Pro) or via REST (OSS). No need for custom RDF uploads. Search results are can be manipulated as a bundle.

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

Reports

Report for Problem Artifacts

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

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

Number of stored artifacts. More stats coming.

Artifact Statistics

Download count.
Last downloaded and by whom.
Deployed by.
Age.

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

Move artifacts between repositories + dry-run to check for warnings + auto metadata recalculation. Also available via REST in Pro.

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

Copy Artifacts

Cheap-copy of artifacts between repositories + dry-run to check for warnings + auto metadata recalculation (no extra space used due to pointer-based storage). Copying is often the best approach for exposing the same artifact under different secure locations. Also available via REST in Pro.

We don't recommend artifact duplication.

Upload Artifacts

With our without pom (will generate one if needed)

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.

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

Syntax Highlighting

Syntax highlighting + copy to clipboard support for dozens of known file types directly form the repository (including zip/jar sources).

Jar Browsing

Supports viewing the content of jar files, including show source for class files.

Also includes WebDAV support and mounting a repository as a WebDAV folder.

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

Includes snapshots and ability to auto-generate POMs and tweak POMs in the UI before deployment.

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.

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

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

User attached custom metadata

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

Searchable custom metadata

Including unique moving, copying & exporting of search results.

Strongly-typed user-defined Properties

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

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

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

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

Including role mappings, Active Directory support and more.

Able to use LDAP groups (authorization from ldap)

Including highly optimized caching and comprehensive UI integration in Pro.

(Open Sourced in 1.5+)

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

With control of whether to fallback to internal users or not.
Including Kerberos and native NTLM in Pro.

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

Secured settings.xml passwords

functionality already available in Maven 2.1.0

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 (including Maven 2.1+) - Maven decrypts the password to clear-text on the client, and keeps a clear-text master password on the filesystem.

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 Enterprise LDAP Plugin(Pro) - Extends the OSS version with redundancy, multiple servers/roots and enhanced templating and caching. Nexus Archive Plugin (Pro) - Allows the user to browse the contents of archive resources on the fly, such as javadoc jars, sources jars etc. 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.