Pergunta
Como posso configurar e preencher meu repositório Apache Archiva com artefatos do CQ5 para usá-lo como uma fonte de repositório maven para desenvolvimento, em vez de usar o repositório maven Day (repo.adobe.com não é oficialmente compatível)?
Resposta, Resolução
O Apache Archiva é um software de gerenciamento de repositório que permite implantar os seus pacotes de maven
para o repositório. Ele também permite armazenar em cache pacotes de repositórios externos, portanto seus
desenvolvedores vão permanecer na sua rede em vez de procurar fontes externas para artefatos. O objetivo deste artigo é descrever um processo que implanta artefatos disponíveis do CQ no Archiva.
Instale o Archiva:
- Faça o download da versão mais recente do Archiva a partir do seu site (http://archiva.apache.org/download.html)
- Siga as instruções para instalação no seu sistema operacional adequado. (http://archiva.apache.org/docs/1.3.6/adminguide/)
Configure o Archiva:
- Abra o seu navegador para a instalação do Archiva (http://<IP of your Archiva server>:8080/archiva)
- A primeira vez que você iniciar o Archiva, ele pedirá que você crie um nome de usuário/senha para a
conta de administrador. Siga em frente e faça isso. - Crie um usuário de implantação, por exemplo, "implantador". Este usuário precisará da função 'Gestor de Repositório'.
- Observação: Tome cuidado para operar um primeiro login com este novo usuário, uma mudança de senha será feita neste momento. A menos que você faça isso primeiro, os comandos de implementação do Maven emitidos com esse usuário falharão.
Configure o arquivo settings.xml do Maven:
- Em seu .m2/settings.xml adicione as seguintes linhas para definir seu Repositório Archiva e o login/senha que o Maven utilizará para implementar os Artefatos
<profile>
<id>day-central</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>internal</id>
<name>My Company Archiva Repository</name>
<url>http://<IP of your Archiva server>:8080/archiva/repository/internal</url>
<layout>default</layout>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>internal</id>
<name>My Company Archiva Repository</name>
<url>http://<IP of your Archiva server>:8080/archiva/repository/internal</url>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<servers>
<server>
<id>internal</id>
<username>deployer</username>
<password>deployer_pwd</password>
</server>
</servers>
Obtenha bibliotecas disponíveis do CQ a partir de uma instância em execução:
- Use o script presente na seguinte página de documentação: http://dev.day.com/docs/en/cq/current/developing/developmenttools/developing_with_eclipse.html#Central%20dependency%20management%20with%20Apache%20Archiva.
Gere os comandos de implementação do Maven que correspondem aos artefatos disponíveis do CQ:
Para fazer isso, execute o arquivo Jar anexado com os seguintes parâmetros:
- URL de reposotório remoto
- ID do repositório remoto
- Diretório no qual você acabou de descarregar as bibliotecas do CQ
Exemplo: java -jar generateMavenDeployCommands.jar http://localhost:8080/archiva/repository/internal internal C:\cq53Jars
Download
3 arquivos são gerados no diretório do Jar:
- deployMavenArtifact.sh
Shellscript for MacOs + Linux that contains the mvn:deploy commands. - deployMavenArtifact.bat
Windows Bat script que contém as mesmas instruções de implantação, precedidas pelos comandos de chamada.
- dependenciesSnippet.xml
Contém a lista de todos os artefatos encontrados na forma de uma lista de dependências que você poderá integrar parcialmente ao arquivo pom do seu projeto.
Aplica-se a
CQ 5.3+