prefácio
- A versão baseada no Nexus neste artigo é nexus-3.55.0-01
- Este método é aplicável a Linux e Windows
- O Windows precisa instalar o Git, use o Git Bash para executar
Como o Nexus carrega pacotes dependentes
Há muitas maneiras de fazer upload de pacotes de dependência para o servidor Nexus, incluindo:
- Carregamento de jar único: Carregue um único jar na página do console do Nexus
- Compilação e upload do código-fonte: Use o comando deploy do Maven no projeto de código-fonte para publicar
- Use scripts para carregar os diretórios das bibliotecas locais do Maven em lotes
1. Carregue um único jar: Carregue um único jar na página do console do Nexus
Para carregar o jar no console da web do Nexus, primeiro você precisa fazer login. As etapas específicas são as seguintes:
-
Após o login, clique no botão "Upload" na barra de navegação à esquerda
-
Selecione a biblioteca a ser carregada, selecione maven-releases aqui, clique na biblioteca a ser carregada
-
Selecione o arquivo, digite o nome do grupo, nome do componente, versão, etc.
Aqui, pegamos o driver Java Oracle 12c ojdbc8 como exemplo e preenchemos as informações da seguinte forma:
- Depois de clicar em Concluir, clique no botão "Navegador" para ver o pacote carregado.
2. Use o comando deploy do Maven para publicar no projeto de código-fonte
Para publicar o projeto no servidor privado Nexus, você precisa configurar o settings.xml do maven e o pom.xml local.
settings.xml adicione a seguinte configuração:
<server>
<id>osxm-nexus</id>
<username>admin</username>
<password>123456</password>
</server>
Pom.xml configura o endereço da biblioteca publicada
<distributionManagement>
<repository>
<id>osxm-nexus</id>
<name>Osxm Nexus Releases Repository</name>
<url>http://localhost:8081/repository/maven-snapshots/</url>
</repository>
</distributionManagement>
Nota: O id do servidor deve ser consistente com o id do repositório.
Após a implantação bem-sucedida, os resultados publicados vistos no console são os seguintes:
Para obter detalhes sobre a publicação de projetos em servidores Nexus, consulte:
Como publicar projetos em servidores privados Nexus no Maven
3. Use um script para carregar em lote o diretório da biblioteca local do Maven
Se for necessário importar todos os jars da biblioteca local do Maven para o Nexus de uma só vez, é impossível usar um único método de importação.
Aqui, o script Bash pode ser usado para importar todos os jars no diretório da biblioteca local do Maven para o Nexus de uma só vez. Se estiver em um ambiente Windows, você pode instalar o Git e usar o Git Bash para executar scripts sh.
Crie o arquivo mvnimport.sh no caminho da biblioteca local do Maven, com o seguinte conteúdo:
#!/bin/bash
# copy and run this script to the root of the repository directory containing files
# this script attempts to exclude uploading itself explicitly so the script name is important
# Get command line params
while getopts ":r:u:p:" opt; do
case $opt in
r) REPO_URL="$OPTARG"
;;
u) USERNAME="$OPTARG"
;;
p) PASSWORD="$OPTARG"
;;
esac
done
find . -type f -not -path './mvnimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;
O Bash alterna para o caminho da biblioteca local do Maven, semelhante a:
cd /d/inssoftware/maven-3.9.2/repo
Execute o seguinte comando neste diretório:
./mvnimport.sh -u admin -p yourpassword -r http://localhost:8081/repository/maven-releases/
O script mvnimport.sh pode ser baixado diretamente do seguinte caminho: Script de importação em lote do diretório da biblioteca local maven para o servidor privado Nexus