Nesta postagem venho compartilhar a configuração local em nosso ambiente de trabalho, encontrada após testes, e definida como a melhor forma de uso (até o momento).
settings.xml
O alvo deste compartilhamento é a configuração do arquivo "settings.xml" de definições locais do usuário, localizado, normalmente, na pasta ".m2" dentro da pasta de cada usuário, e utilizado pelo Maven para obter a forma de acesso aos repositórios.Vou abordar apenas as configurações necessárias para atingir o objetivo de acessar o repositório particular, a configuração de proxies não entrará nesta lista, pois o acesso ao repositório particular é local e não depende de proxy.
mirrors
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://servidornexus/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>dev-snapshots</id>
<mirrorOf>snapshots</mirrorOf>
<url>http://servidornexus/nexus/content/repositories/snapshots/</url>
</mirror>
<mirror>
<id>dev-releases</id>
<mirrorOf>releases</mirrorOf>
<url>http://servidornexus/nexus/content/repositories/releases/</url>
</mirror>
</mirrors>
Observe nesta parte da configuração que estamos definindo 3 repositórios de acesso, um para os nossos snapshots, um para os nossos releases e um para todos os outros artefatos.servers
<servers>
<server>
<id>snapshots</id>
<username>user</username>
<password>password</password>
</server>
<server>
<id>releases</id>
<username>user</username>
<password>password</password>
</server>
</servers>
Nesta parte definimos nossa credencial de acesso com permissão de inclusão de artefatos nos repositórios de snapshots e releases, cada servidor definido aqui deve espelhar o id da configuração dos repositórios na seção profiles.profiles
<profiles>
<profile>
<id>dev</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>
<repository>
<id>snapshots</id>
<url>http://snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
<repository>
<id>releases</id>
<url>http://releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
Esta parte da configuração define os repositórios baseado em um profile ativado por padrão. Esta configuração será exportada para cada pom.xml, ou seja, os seus arquivos de definição de projetos (pom.xml) não podem possuir configuração de repositórios, mas apenas as configurações da seção distributionManagement
com os ids espelhando os ids dos repositórios definidos aqui.Note que as tags url são referências inúteis pois serão substituídas pelas definições dos mirrors.
Nenhum comentário:
Postar um comentário
Olá! Antes de postar seu comentário, por favor, observe que comentários técnicos, elogios e sugestões são antecipadamente agradecidos, esclarecimentos sobre os conceitos envolvidos na postagem serão respondidos da melhor forma possível, mas pedidos de ajuda técnica ou suporte individual deverão ser feitos através do formulário de contato. Grato!