Como o Nexus importa jar e importa em lote o diretório da biblioteca local do Maven

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:

  1. Carregamento de jar único: Carregue um único jar na página do console do Nexus
  2. Compilação e upload do código-fonte: Use o comando deploy do Maven no projeto de código-fonte para publicar
  3. 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:

  1. Após o login, clique no botão "Upload" na barra de navegação à esquerda
    insira a descrição da imagem aqui

  2. Selecione a biblioteca a ser carregada, selecione maven-releases aqui, clique na biblioteca a ser carregada
    insira a descrição da imagem aqui

  3. 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:
insira a descrição da imagem aqui

  1. Depois de clicar em Concluir, clique no botão "Navegador" para ver o pacote carregado.

insira a descrição da imagem aqui

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:
insira a descrição da imagem aqui

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



Acho que você gosta

Origin blog.csdn.net/oscar999/article/details/131349696
Recomendado
Clasificación