Welcome to CQBlueprints - A resource for your Adobe CQ 5.4, 5.5, 5.6 and AEM6 projects. Get your CQ project on the right track.

Using Nexus as a Maven Repository for CQ Team Development

Customers who (wisely) choose Maven as their build tool for CQ development projects should setup their own shared team Maven Repository and configure it to proxy the repo.adobe.com repository to provide access to the CQ related artifacts for your team. There are other Maven Repsository management servers available, however, since Nexus is now being used actively to manage the Maven Central repository it has become the defacto standard for Maven Repository management tools. As a result, we recommend the use of Nexus over any other Maven Repository management tools. Even Adobe migrated their repository in early 2012 from Archiva to Nexus.

Installing Nexus

Nexus is very easy to install and there are detailed instructions on this page. We recommend following the instructions for installing the Nexus WAR file on Apache Tomcat as you are likely to, or already do, want to install other Java Web Apps as part of your development environment (e.g. Jenkins).

Configure Proxy Repository for repo.adobe.com

Once you have Nexus up and running, create a new proxy repository and give it a Repository ID like adobe-cq and a Repository Name Adobe CQ. In the Remote Storage Location setting, enter http://repo.adobe.com/nexus/content/groups/public/

file

Due to configuration options set on Adobe's Nexus server, be sure to change the Auto blocking active setting in the above dialog to false otherwise your Nexus will mark the Adobe repository as being offline and will not proxy its contents for you as expected.

This specific issue is discussed on the Nexus Users mailing list, archived here.

Add Proxy Repository To Public Group Repository

Configure the public group repository to include the the newly proxied adobe-cq repository.

file

Possible Issues

In the above screen shot when configuring the public group repository, we have placed the Adobe CQ proxy above Maven Central. This means that the artifacts in the Adobe CQ proxy will be given priority over the ones in Maven Central. This is the correct configuration for CQ projects. However, if you or your team also work on non-CQ projects in addition to CQ projects, you will need to evaluate if this configuration works for you.

Configure Maven settings.xml File To Use Nexus

Once you have Nexus installed and have set up a proxy repository for the Adobe CQ repository, you need to change the Maven settings.xml file on each developer's machine to make use of the new Nexus repository (you should also make changes to any other places that Maven is used, like by Jenkins on your Continuous Integration server for example).

Below is an example of how to configure your team's Nexus repository as the mirror for all repositories that Maven can use.

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

	<mirrors>
		<mirror>
			<id>dev.example.com</id>
			<mirrorOf>*</mirrorOf>
			<url>http://dev.example.com/nexus/content/groups/public/</url>
		</mirror>
	</mirrors>

	<profiles>
		<profile>
			<id>nexus</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<repositories>
				<repository>
					<id>central</id>
					<url>http://central</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>central</id>
					<url>http://central</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>

	</profiles>

</settings>

Do you find the information on this site useful? Do you think we should add an article on a specific subject? We'd like to hear from you. Please drop us an email @ info@headwire.com

Search CQ Related Information