7.3. Configurer Maven pour utiliser les référentiels de système de fichier

Vue d'ensemble

Dans les situations où une utilisation de référentiels en ligne est impossible, vous devrez télécharger et configurer les référentiels requis localement.

Procédure 7.1. 

  1. Télécharger les archives ZIP suivantes contenant les référentiels requis :
  2. Décompressez les fichiers ZIP téléchargés vers un emplacement arbitraire dans un système de fichiers local.
  3. Ajoutez les entrées des référentiels décompressés vers le fichier settings.xml de Maven. L'exemple de code suivant contient un profil avec les référentiels , une configuration d'authentication pour accéder aux référentiels et une entrée d'activation pour le profil :
    <?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>
Résultat

Les référentiels Maven sont téléchargés, décompressés dans un système de fichiers local, enregistrés dans le fichier settings.xml de Maven et prêt à être utilisés lors des générations Maven.

Résolution de problèmes

Q : Pourquoi obtiens-je des messages d'erreur lors de la génération ou du déploiement de mes applications ?
Q : Pourquoi JBoss Developer Studio utilise-t-il mon ancienne configuration Maven ?
Q :
Pourquoi obtiens-je des messages d'erreur lors de la génération ou du déploiement de mes applications ?
R :
Question

Lorsque vous générez ou déployez un projet, celui-ci échoue avec un ou les deux messages d'erreur suivants :

  • [ERROR] Failed to execute goal on project PROJECT_NAME
  • Could not find artifact ARTIFACT_NAME

Cause

Il se peut que votre référentiel Maven local mis en cache contienne des artefacts obsolètes.

Résolution

Pour résoudre ce problème, supprimez le référentiel local mis en cache : le répertoire ~/.m2/repository/ sur Linux ou le répertoire %SystemDrive%\Users\USERNAME\.m2\repository\ sur Windows, puis exécutez mvn clean install -U. Cela obligera Maven à télécharger les versions correctes des artefacts nécessaires lors de l'exécution de la génération suivante.

Q :
Pourquoi JBoss Developer Studio utilise-t-il mon ancienne configuration Maven ?
R :
Question

Vous avez mis votre configuration Maven à jour, mais cette configuration n'est pas visible dans JBoss Developer Studio.

Cause

Si votre JBoss Developer Studio est en marche lorsque vous modifiez votre fichier settings.xml Maven, cette configuration ne sera pas visible dans JBoss Developer Studio.

Résolution

Actualisez les paramètres Maven dans l'IDE. À partir du menu, sélectionnez WindowPréférences. Dans la fenêtre Preferences, agrandissez Maven et sélectionnez Paramètres utilisateur. Cliquez sur le bouton Mettre à jour les paramètres pour réactualiser les paramètres de l'utilisateur Maven dans JBoss Developer Studio.
Mise à jour des paramètres de configuration de l'utilisateur Maven

Figure 7.1. Mise à jour des paramètres de configuration de l'utilisateur Maven