I. Introdução
Há muitas vantagens em usar o Nexus para construir um servidor privado, a mais importante delas é que você pode controlar o acesso e a implantação de componentes. Se não houver um servidor privado Nexus, todos os componentes de que precisamos precisam ser baixados localmente por meio do armazém central do Maven e do armazém Maven de terceiros, e todos em uma equipe baixam repetidamente os componentes do armazém do Maven. Sem dúvida, a carga no armazém é aumentou. E a largura de banda da rede externa é desperdiçada. Se a velocidade da rede for lenta, isso também afetará o andamento do projeto. Depois de usar o Nexus para construir um servidor privado, você só precisa baixá-lo uma vez no servidor privado, e então poderá utilizá-lo em toda a equipe, o que melhora muito a eficiência.
Além disso, o Nexus também tem muitas outras vantagens, como tamanho reduzido, possui uma interface de operação baseada em ExtJs, usa uma API REST completa baseada em Restlet para oferecer suporte a armazéns proxy, armazéns de host e grupos de armazéns, é baseado em sistemas de arquivos, não precisa contar com bancos de dados e oferece suporte ao gerenciamento de armazém., Suporte à pesquisa de componentes, suporte ao upload de componentes na interface, etc.
2. Construção de servidor privado Nexus
2.1. Introdução ao Nexus
Nexus, um produto da Sonatype, é um poderoso gestor de armazéns que simplifica enormemente a manutenção de armazéns internos e o acesso a armazéns externos. É usado principalmente para construir o servidor privado Maven interno da empresa para compartilhar e usar dependências na equipe.
Os servidores privados Nexus têm muitos benefícios, como:
- acelerar compilações;
- economizar largura de banda;
- Economize largura de banda no repositório central do Maven;
- Estável (para lidar com a situação quando o servidor central der errado);
- controles e auditorias;
- Capacidade de implantar componentes de terceiros;
- Um armazém interno local pode ser estabelecido;
- Repositórios públicos podem ser construídos.
2.2. Baixe e instale o Nexus
Site oficial do Nexus https://help.sonatype.com/repomanager3/product-information/download
Baixe a versão correspondente de acordo com o seu sistema
2.2.1. Inicie o Nexus
Encontre o caminho do pacote de instalação
Seu diretório de arquivos\nexus-3.20.1-01\bin
Digite nexus.exe /run na operação de comando da janela preta aberta
Se você vir as seguintes palavras, a tabela será iniciada com sucesso
2.2.2. Acessar Nexus
Não sabe seu endereço de acesso ao Nexus? Está tudo bem, eu vou te ensinar.
Seu diretório de arquivos\nexus-3.20.1-01\etc\nexus-default.properties
é o seu arquivo de configuração do nexus aqui
application-port=access Número da porta Nexus (padrão 8081)
application-host=access Endereço IP do Nexus (padrão localhost ip local)
então seu caminho de acesso é http://localhost:8081
Se você vir a imagem a seguir, significa que a inicialização foi bem-sucedida
2.2.3. Login no Nexus
A conta é admin e a senha é o diretório do seu arquivo\nexus-3.20.1-01\etc\sonatype-work\nexus3\admin.password
Dica: mudei a senha aqui, então admin.password irá desaparecer (porque é temporário)
Abra o arquivo e copie a senha diretamente para fazer login. Após o login ser bem-sucedido, você será solicitado a inserir a senha novamente. Esta é a etapa de alteração da senha. Você usará essa senha para fazer login no Nexus no futuro .
3. Configuração do armazém Maven
3.1. Introdução ao Maven
Maven é uma ferramenta de gerenciamento de projetos baseada em Java (modelo de objeto de projeto POM), que pode ajudar os desenvolvedores a automatizar a construção, teste e implantação de projetos Java. O Maven gerencia as dependências do projeto por meio de um warehouse central, pode baixar automaticamente as bibliotecas de dependências necessárias e gerar scripts de construção de projeto automaticamente. O uso do Maven pode simplificar bastante o processo de construção e gerenciamento de projetos Java, melhorar a eficiência do desenvolvimento e a qualidade do projeto.
Dicas: O que é uma construção automatizada?
A construção automatizada refere-se a um método de uso de ferramentas ou scripts para automatizar o processo de construção do projeto. No desenvolvimento de software, construção é o processo de conversão do código-fonte em software executável, incluindo compilação, vinculação, empacotamento e muito mais. Tradicionalmente, o processo de construção era realizado manualmente, com os desenvolvedores executando uma série de comandos ou ações para concluir a construção. As compilações automatizadas usam ferramentas de compilação ou scripts para automatizar essas operações, reduzindo o tédio e os erros das operações manuais e melhorando a eficiência e a consistência das compilações.
As compilações automatizadas podem atingir as seguintes funções:
- Compilar código-fonte: converte o código-fonte em um binário executável.
- Gerenciamento de dependências: Baixe e gerencie automaticamente as bibliotecas dependentes exigidas pelo projeto.
- Teste: execute automaticamente processos de teste, como testes unitários e testes de integração.
- Empacotamento: Empacotar o código compilado em um pacote implantável.
- Geração de Documentação: Gere automaticamente a documentação do projeto.
- Implantação: implanta automaticamente o pacote compilado no ambiente de destino.
Ao automatizar compilações, os desenvolvedores podem economizar tempo e esforço, reduzir erros humanos e melhorar a eficiência e a qualidade do desenvolvimento de software.
3.2. Baixe e instale o Maven
Para obter mais detalhes, vá para o tutorial de instalação e configuração do Maven que escrevi
Quarto, use o Nexus como repositório Maven
4.1. Empacotar e fazer upload do Jar
① Encontre o
caminho do arquivo do diretório de instalação do maven/maven/número da versão/libexec/conf/settings.xml
②nó de servidores
<server><!-- 发布版本-->
<id>nexus</id> <!-- 随意填写,但项目中repository的id得与这里一致-->
<username>admin</username> <!-- 账户-->
<password>admin123</password> <!-- 密码-->
</server>
<server><!-- 发布版本-->
<id>nexus-releases</id> <!-- 随意填写,但项目中repository的id得与这里一致-->
<username>admin</username> <!-- 账户-->
<password>admin123</password> <!-- 密码-->
</server>
<server><!-- 发布版本-->
<id>nexus-snapshots</id> <!-- 随意填写,但项目中repository的id得与这里一致-->
<username>admin</username> <!-- 账户-->
<password>admin123</password> <!-- 密码-->
</server>
③nó de espelhos
<mirror>
<id>nexus</id>
<!--表示访问哪些工厂时需要使用镜像-->
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/repository/maven-public/</url>
</mirror>
Você precisa acessar o site do Nexus para copiar o URL
É melhor adicionar uma imagem espelhada do Alibaba Cloud aqui
<!-- 阿里云镜像-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
Aqui tomamos a ideia como exemplo, outras ferramentas de desenvolvimento são semelhantes
④pom.xml configura as informações de endereço do seu armazém Nexus
<!-- 本地nexus私有库-->
<distributionManagement>
<snapshotRepository>
<id>snapshots</id>
<name>snapshots</name>
<url>http://localhost:8081/repository/maven-snapshots/</url>
</snapshotRepository>
<repository>
<id>releases</id>
<name>release</name>
<url>http://localhost:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>
O URL também é o mesmo, você precisa acessar o site do Nexus para copiá-lo você mesmo
⑤Clique com o botão direito em pom.xml do IDEA ➡Run Maven➡deploy
Se você vir BUILD SUCCESS, significa que o upload foi bem-sucedido.
4.2. Faça referência ao jar da biblioteca Nexus
① Encontre o
caminho do arquivo do diretório de instalação do maven/maven/número da versão/libexec/conf/settings.xml
②nó de perfis
<profile>
<!--profile 的 id-->
<id>nexus</id>
<repositories>
<repository>
<!--仓库 id,repositories 可以配置多个仓库,保证 id 不重复-->
<id>nexus</id>
<!--仓库地址,即 nexus 仓库组的地址-->
<url>http://localhost:8081/repository/maven-public/</url>
<!--是否下载 releases 构件-->
<releases>
<enabled>true</enabled>
</releases>
<!--是否下载 snapshots 构件-->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!-- 插件仓库,maven 的运行依赖插件,也需要从私服下载插件 -->
<pluginRepository>
<!-- 插件仓库的 id 不允许重复,如果重复后边配置会覆盖前边 -->
<id>public</id>
<name>Public Repositories</name>
<url>http://localhost:8081/repository/maven-public/</url>
<!--是否下载 releases 构件-->
<releases>
<enabled>true</enabled>
</releases>
<!--是否下载 snapshots 构件-->
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
③nó activeProfiles
<!-- 激活下载模板-->
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
④Baixar dependências
repositórios no POM
<!--获取公共的Maven依赖库-->
<repositories>
<repository>
<id>nexus</id>
<url>http://localhost:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>`1
Neste ponto, seu projeto pode usar o Nexus normalmente.
Meu compartilhamento está aqui, bem-vindo à área de comentários para discutir e comunicar! !
Se você achar útil, por favor, dê um joinha ♥ ♥