7.3. Configurando o Maven para Usar Repositórios do Sistema de Arquivos

Visão Geral

Em situações onde você não pode usar os repositórios online, você terá que baixar e configurar os repositórios necessários localmente.

Procedimento 7.1. 

  1. Baixe os arquivos ZIP a seguir contendo os repositórios necessários:
  2. Descomprima os arquivos ZIP baixados em um local arbitrário em um sistema de arquivos local.
  3. Adicione as entradas para os repositórios descompactados ao arquivo settings.xml do Maven. O exemplo de código a seguir contém um perfil com os repositórios , a configuração de autenticação para acesso aos repositórios e uma entrada de ativação para o perfil:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <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/xsd/settings-1.0.0.xsd">
      <localRepository/>
      <profiles>
        <!-- Profile with local repositories required by Red Hat JBoss BRMS/Red Hat JBoss BPM Suite -->
        <profile>
          <id>brms-bpms-local-profile</id>
          <repositories>
            <repository>
              <id>jboss-brms-bpmsuite-repository</id>
              <name>BRMS/BPMS 6.3.0 GA Repository</name>
              <url>file://<!-- path to the repository -->/jboss-brms-bpmsuite-6.3.0.GA-redhat-5-maven-repository/maven-repository</url>
              <layout>default</layout>
              <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
              </releases>
              <snapshots>
                <enabled>false</enabled>
                <updatePolicy>never</updatePolicy>
              </snapshots>
            </repository>
          </repositories>
          <pluginRepositories>
            <pluginRepository>
              <id>jboss-brms-bpmsuite-repository</id>
              <name>BRMS/BPMS 6.3.0 GA Repository</name>
              <url>file://<!-- path to the repository -->/jboss-brms-bpmsuite-6.3.0.GA-redhat-5-maven-repository/maven-repository</url>
              <layout>default</layout>
              <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
              </releases>
              <snapshots>
                <enabled>false</enabled>
                <updatePolicy>never</updatePolicy>
              </snapshots>
            </pluginRepository>
          </pluginRepositories>
        </profile>
      </profiles>
    
      <!-- Configuring pre-emptive authentication for the repository server -->
      <server>
        <id>brms-bpms-m2-repo</id>
        <username>admin</username>
        <password>admin</password>
        <configuration>
          <wagonProvider>httpclient</wagonProvider>
          <httpConfiguration>
            <all>
              <usePreemptive>true</usePreemptive>
            </all>
          </httpConfiguration>
        </configuration>
      </server>
    
      <!-- Alternative to enabling pre-emptive authentication - configuring
           the Authorization HTTP header with Base64-encoded credentials
      <server>
        <id>brms-bpms-m2-repo</id>
        <configuration>
          <httpHeaders>
            <property>
              <name>Authorization</name>
              <value>Basic YWRtaW46YWRtaW4=</value>
            </property>
          </httpHeaders>
        </configuration>
      </server>
      -->
    
      <activeProfiles>
       <!-- Activation of the Red Hat JBoss BRMS/Red Hat JBoss BPM Suite profile -->
       <activeProfile>brms-bpms-local-profile</activeProfile>
      </activeProfiles>
    </settings>
Resultado

Os repositórios do Maven são baixados, descompactados em um sistema de arquivos local, registrados no arquivo settings.xml do Maven e, então, estarão prontos para serem usados durante a execução das compilações do Maven.

Solução de Problemas

P: Por que eu ainda obtenho erros durante a compilação ou implantação dos meus aplicativos?
P: Por que o JBoss Developer Studio está usando a minha configuração antiga do Maven?
P:
Por que eu ainda obtenho erros durante a compilação ou implantação dos meus aplicativos?
R:
Problema

Quando você compila ou implanta um projeto, ele falha com um ou ambos os erros a seguir:

  • [ERROR] Failed to execute goal on project PROJECT_NAME [ERRO] Falha ao executar meta no projeto
  • Could not find artifact ARTIFACT_NAME Não foi possível encontrar o artefato

Causa

O seu repositório local em cache do Maven pode conter artefatos desatualizados.

Solução

Para resolver o problema, exclua o repositório local em cache – o diretório no Linux ~/.m2/repository/ ou o diretório no Windows – %SystemDrive%\Users\USERNAME\.m2\repository\ e execute mvn clean install -U. Isso forçará o Maven a baixar as versões corretas dos artefatos necessários durante a execução da próxima compilação.

P:
Por que o JBoss Developer Studio está usando a minha configuração antiga do Maven?
R:
Problema

Você atualizou a sua configuração do Maven, mas essa configuração não aparece no JBoss Developer Studio.

Causa

Se o JBoss Developer Studio estiver em execução no momento que você modifica o seu arquivo settings.xml do Maven, essa configuração não aparecerá no JBoss Developer Studio.

Solução

Atualize as configurações do Maven no IDE. A partir do menu, selecione JanelaPreferências. Na janela Preferências, expanda o Maven e selecione Configurações do Usuário. Clique no botão Atualizar Configurações para atualizar as configurações de usuário do Maven no JBoss Developer Studio.
Atualize as Configurações de Usuário do Maven

Figura 7.1. Atualize as Configurações de Usuário do Maven