Have a question? Want to report an issue? Contact JFrog support

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


To simplify access to different repositories, Artifactory allows you to define a virtual repository which is a collection of local, remote and other virtual repositories accessed through a single logical URL.

A virtual repository hides the access details of the underlying repositories letting users work with a single, well-known URL. The underlying participating repositories and their access rules may be changed without requiring any client-side changes.

titlePage Contents

Table of Contents


Basic Settings

The following are fully described in the Common Settings page.



The search/resolution order when requesting artifacts from a virtual repository is always:

  1. Local repositories
  2. Remote repository caches
  3. Remote repositories themselves.

The order within these categories is controlled by the order they are presented in the Selected Repositories list.


Nesting is a unique feature in Artifactory and facilitates more flexibility in using virtual repositories.


You should take care not to create an "infinite loop" of nested repositories. Artifactory analyzes the internal composition of virtual repositories and will issue a warning if the virtual repository can not be resolved due to invalid nesting.

Using Includes and Excludes Patterns

The ability to define and Includes Pattern and an Excludes Pattern for virtual repositories (especially when nesting is used) provides a powerful tool you can use to manage artifact requests in your organization.


Consider another example in which you wish to define a virtual repository for your developers, however you wish to keep certain artifacts hidden from them. This could be achieved by defining an Excludes Pattern based on groupId, source or version.


Deploying to a Virtual Repository

From version 4.2, Artifactory supports deploying artifacts to a virtual repository. For example you can now use docker push, npm publish, NuGet push, gem push Artifactory's REST API and more to deploy packages to a virtual repository.

For more details, please refer to Deploying Artifacts.


Advanced Settings

Virtual Repository Advanced Settings

Artifactory Requests Can Retrieve Remote Artifacts
An Artifactory instance may request artifacts from a virtual repository in another Artifactory instance. This checkbox specifies whether the virtual repository should search through remote repositories when trying to resolve an artifact requested by another Artifactory instance. For example, you can use this feature when Artifactory is deployed in a mesh (grid) architecture, and you do not want all remote instances of Artifactory to act as proxies for other Artifactory instances.

Maven, Gradle, Ivy and SBT Repositories

In addition to the above checkbox, these repository types offer the following Advanced settings:

Cleanup Repository References in POMs

Public POMs may include direct references to external repositories. If either of the below code samples are present in the POM, Maven dynamically adds an external repository URL to the build which circumvents Artifactory.

Code Block

A client side solution for this is to use mirrorOf. For details please refer to Additional "Mirror-any" Setup.

This setting gives you the ability to ensure Artifactory is the sole provider of Artifacts in your system by automatically cleaning up the POM file. The three values available for this setting are:

Discard Active References
Removes repository elements that are declared directly under project or under a profile in the same POM that is activeByDefault
Discard Any References
Removes all repository elements regardless of whether they are included in an active profile or not
Does not remove any repository elements declared in the POM
Key Pair

A named key-pair to use for automatically signing artifacts.

Please refer to WebStart and Jar Signing.


Pre-defined Repositories

Artifactory comes with a set of pre-defined virtual repositories, which reflect binary management best practices as follows.


Aggregation of all remote repositories


libs-releases-local, ext-releases and remote-repos


plugins-releases-local, ext-releases and remote-repos


libs-snapshots-local, ext-snapshots-local, remote-repos


plugins-snapshots-local, ext-snapshots-local, remote-repos