The Fabric Ensemble creates a Maven proxy to facilitate access to the artifacts required the containers in the fabric. Each Fabric Server deployed in the fabric runs an instance of a Maven proxy. The ensemble aggregates all of the proxies so that it appears to the Fabric Agents as a single Maven proxy.
![]() | Tip |
|---|---|
Advanced users can configure each Fabric Server to act as a proxy for a different set of repositories. However, this is not a recommended set up. |
The Fabric Agents use the fabric's Maven proxy to access the known repositories. This ensures that all of the containers use the same set of repositories and artifacts.
![]() | Tip |
|---|---|
Fuse IDE provides tooling for uploading bundles using the Maven proxy. You can also add the fabric's Maven Proxy to a POM file so that bundles can be distributed to the ensemble as part of an automated build process. |
By default a fabric's Maven proxy is configured to be a proxy for the following Maven repositories:
Maven Central (
http://repo1.maven.org/maven2)Fuse Releases (
http://repo.fusesource.com/nexus/content/repositories/releases)Fuse Early Access (
http://repo.fusesource.com/nexus/content/groups/ea)SpringSource (
http://repository.springsource.com/maven/bundles/release,http://repository.springsource.com/maven/bundles/external)Scala Tools (http://scala-tools.org/repo-releases)
User's Local (
~/.m2/repository)
To change the repositories the ensemble proxies:
Create a new profile version.
From the command console this is done using the fabric:version-create command. See fabric:version-create in Console Reference for more information.
Change the
org.ops4j.pax.url.mvn.repositoriesproperty in theorg.fusesource.fabric.agentPID of thedefaultprofile. Example 35 shows the console command for editing this property.Example 35. Configuring the Maven Proxy URL
FuseESB:karaf@root>fabric:profile-edit -p org.fusesource.fabric.agent/org.ops4j.pax.url.mvn.repositories= \ http://repo1.maven.org/maven2, \ http://repo.fusesource.com/nexus/content/repositories/releases, \ http://repo.fusesource.com/nexus/content/groups/ea, \ http://repository.springsource.com/maven/bundles/release, \ http://repository.springsource.com/maven/bundles/external, \ http://scala-tools.org/repo-releases default![[Note]](imagesdb/note.gif)
Note The
org.fusesource.fabric.agentPID is refined in all of the fabric profiles. Setting the proxy URL, theorg.ops4j.pax.url.mvn.repositoriesproperty, in thedefaultprofile ensures that all of the other fabric profiles share the same Maven proxy setting.![[Important]](imagesdb/important.gif)
Important The
fabricprofile'sorg.fusesource.fabric.mavenPID, which ultimately controls the Maven proxy, imports its value from thedefaultprofile'sorg.fusesource.fabric.agentPID. You should not change the settings of theorg.fusesource.fabric.mavenPID.Roll the changes out the fabric by upgrading the containers to the new profile version.
![[Important]](imagesdb/important.gif)
Important You cannot test this configuration change out on a few containers to validate it. The change must be made to the entire fabric or it will result in conflicts.






![[Tip]](imagesdb/tip.gif)

