configuração de armazém remoto de repositórios
No maven, pom.xml é o arquivo de configuração principal para o Maven funcionar. Sua função inclui: configurar o warehouse remoto que precisa ser usado no projeto Maven e a dependência de recursos do projeto Maven. O pom é a abreviatura de Project Object Model.
A função da tag repositories em pom.xml é configurar o warehouse remoto do projeto maven. Os exemplos são os seguintes:
<repository>
<id>nexus</id><!--远程仓库唯一标识符 -->
<name>Private Repository</name><!--描述 -->
<url><!--远程仓库url --></url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
Vamos dar uma olhada na configuração primeiro.Você pode adicionar mais de um abaixo dela, cada um com seu ID exclusivo, um nome descritivo e, o mais importante, a URL do warehouse remoto. Além disso, true informa ao Maven para baixar os componentes da versão de lançamento deste repositório, e false diz ao Maven para não baixar os componentes da versão do instantâneo deste repositório. É recomendado proibir o download de componentes de instantâneo de repositórios públicos, porque esses componentes são instáveis e estão fora de seu controle, portanto, você deve evitar usá-los. Claro, se você quiser usar o warehouse dentro da organização na rede local, você pode ativar o suporte de instantâneo
layout: o tipo de layout do armazém usado para localizar e classificar os componentes - pode ser padrão (padrão) ou herdado (herdado). O Maven 2 fornece um layout padrão para seu warehouse; no entanto, o Maven 1.x tem um layout diferente. Podemos usar este elemento para especificar se o layout é padrão (padrão) ou legado (legado).
DistributionManagement distribui componentes para armazéns remotos
mvn install instalará os componentes gerados pelo projeto no warehouse local do Maven e o mvn deploy é usado para distribuir os componentes gerados pelo projeto no warehouse remoto do Maven. Os componentes do warehouse local Maven só podem ser usados pelo usuário atual.Depois de serem distribuídos para o warehouse Maven remoto, todos os usuários que podem acessar o warehouse podem usar seus componentes.
Precisamos configurar o POM para especificar a localização dos componentes de distribuição do Maven, como segue:
<!-- 定义snapshots库和releases库的nexus地址 -->
<distributionManagement>
<repository>
<!-- 库的id -->
<id>nexus-releases</id>
<!-- 库的url -->
<url>https://172.17.103.59:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>https://172.17.103.59:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
Se for uma versão de instantâneo, ele será publicado automaticamente no repositório de instantâneos quando o mvn deploy for executado. Ao usar a versão de instantâneo do módulo, sem alterar o número da versão, ao compilar e empacotar diretamente, o maven irá baixar automaticamente a versão de instantâneo mais recente do servidor espelho.
Se for uma versão de lançamento oficial, ela será lançada automaticamente para a biblioteca de versão oficial quando mvn deploy for executado, e a versão oficial do módulo será usada. Sem alterar o número da versão, ao compilar e empacotar, se o módulo desta versão já existir localmente, ele usará o local em vez de baixá-lo ativamente no servidor espelho.
Deve-se observar que o valor id no elemento server em settings.xml deve ser exatamente o mesmo que o valor id no repositório ou snapshotRepository no POM. Coloque as informações de autenticação nas configurações em vez do POM, porque o POM geralmente é visível para outras pessoas e o settings.xml é local. código mostrado abaixo:
<settings>
...
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
...
</settings>