English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Repositório Maven

No termo Maven, o repositório é um local (place).

O repositório do Maven é a biblioteca de terceiros dependente do projeto, o local onde a biblioteca está chamado de repositório.

No Maven, qualquer dependência, plugin ou saída de construção de projeto pode ser chamada de artefato.

O repositório do Maven nos ajuda a gerenciar artefatos (principalmente JAR), é o local onde todos os arquivos JAR (WAR, ZIP, POM etc.) são colocados.

O repositório do Maven tem três tipos:

  • Local (local)

  • Central (central)

  • Remoto (remote)

Repositório local

O repositório local do Maven não é criado após a instalação do Maven; ele é criado na primeira execução do comando maven.

Ao executar o Maven, qualquer artefato necessário pelo Maven é obtido diretamente do repositório local. Se o repositório local não tiver, ele tentará primeiro baixar o artefato do repositório remoto para o repositório local e, em seguida, usar o artefato do repositório local.

Por padrão, independentemente de Linux ou Windows, cada usuário tem um caminho chamado .m no diretório de usuário.2/respository/ diretório do repositório.

O repositório local do Maven é criado por padrão no diretório %USER_HOME%. Para modificar a localização padrão, no %M2definido outro caminho no arquivo settings.xml do Maven localizado no diretório _HOME%\conf.

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
   http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <localRepository>C:/MyLocalRepository</localRepository>
</settings>

Quando você executar o comando Maven, o Maven baixará os arquivos de dependência para o caminho especificado.

Repositório central

O repositório central do Maven é fornecido pela comunidade Maven e contém uma grande quantidade de bibliotecas comuns.

O repositório central contém a maioria dos componentes Java de código aberto populares, bem como código-fonte, informações do autor, SCM, informações, informações de licença, etc. Geralmente, os componentes dependentes de projetos Java simples podem ser baixados aqui.

Conceitos-chave do repositório central:

  • Este repositório é gerenciado pela comunidade Maven.

  • Não requer configuração.

  • Necessita de acesso através da rede.

Para navegar no conteúdo do repositório central, a comunidade Maven fornece um URL:http://search.maven.org/#browseUsando este repositório, os desenvolvedores podem procurar todas as bibliotecas disponíveis.

Repositório remoto

Se o Maven não encontrar o arquivo dependente no repositório central, ele parará o processo de construção e exibirá uma mensagem de erro no console. Para evitar isso, o Maven oferece o conceito de repositório remoto, que é um repositório personalizado pelo desenvolvedor, contendo o código de bibliotecas necessárias ou outros arquivos jar usados em projetos.

Para exemplificar, usando o pom.xml a seguir, o Maven baixará os arquivos dependentes declarados neste pom.xml do repositório remoto.

<project xmlns="http://maven.apache.org/POM/4.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.companyname.projectgroup</groupId>
   <artifactId>project</artifactId>
   <version>1.0</version>
   <dependencies>
      <dependency>
         <groupId>com.companyname.common-lib</groupId>
         <artifactId>common-lib</artifactId>
         <version>1.0.0</version>
      </dependency>
   <dependencies>
   <repositories>
      <repository>
         <id>companyname.lib1</id>
         <url>http://download.companyname.org/maven2/lib1</url>
      </repository>
      <repository>
         <id>companyname.lib2</id>
         <url>http://download.companyname.org/maven2/lib2</url>
      </repository>
   </repositories>
</project>

Ordem de busca de dependências Maven

Quando executamos o comando de construção Maven, o Maven começa a procurar bibliotecas dependentes na seguinte ordem:

  • Passo 1 Procurar localmente no repositório, se não encontrar, execute a etapa 2Se encontrou, execute outras operações.

  • Passo 2 - Procurar no repositório central. Se não encontrar e houver um ou mais repositórios remotos configurados, execute o passo 4,se encontrar, download para o repositório local para referência futura.

  • Passo 3 - Se o repositório remoto não estiver configurado, o Maven simplesmente parará o processamento e lançará um erro (arquivo de dependência não encontrado).

  • Passo 4 - Procurar por arquivos de dependências em um ou mais repositórios remotos. Se encontrar,下载 para o repositório local para referência futura. Caso contrário, o Maven parará o processamento e lançará um erro (arquivo de dependência não encontrado).

Repositório Aliyun (Aliyun) Maven

O repositório Maven é geralmente localizado no exterior, o que pode ser lento para o uso doméstico. Podemos substituí-lo pelo repositório da Aliyun.

Modifique o arquivo settings.xml na pasta conf no diretório raiz do Maven, na seção mirrors, adicione o seguinte conteúdo:

<mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
</mirrors>

Segundo Passo: Adicione o seguinte ao arquivo pom.xml

<repositories>  
        <repository>  
            <id>alimaven</id>  
            <name>aliyun maven</name>  
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>false</enabled>  
            </snapshots>  
        </repository>  
</repositories>