3.3. Générer des entrées MANIFEST.MF en utilisant Maven

Les projets Maven qui utilisent les plug-ins JAR, EJB ou WAR peuvent générer un fichier MANIFEST.MF avec une entrée Dependencies. Ce procédé ne génère pas automatiquement la liste de dépendances, il crée seulement le fichier MANIFEST.MF avec les informations spécifiées dans le fichier pom.xml.

Conditions préalables

  1. Vous devez déjà posséder un projet Maven en cours.
  2. Le projet Maven doit utiliser l'un des plug-ins JAR, EJB, ou WAR (maven-jar-plugin, maven-ejb-plugin, maven-war-plugin).
  3. Vous devez connaître le nom des dépendances de module du projet. Voir Section 3.8.2, « Les modules inclus » pour obtenir la liste des modules statiques inclus dans JBoss EAP 6. Si le module est dans un autre déploiement, voir Section 3.1.7, « Nommage de modules dynamiques » pour déterminer le nom du module.

Procédure 3.3. Générer un fichier MANIFEST.MF contenant des dépendances de module.

  1. Ajouter une configuration

    Ajouter la configuration suivante à la configuration du plug-in de l'empaquetage dans le fichier pom.xml du projet.
    <configuration>
       <archive>
          <manifestEntries>
             <Dependencies></Dependencies>
          </manifestEntries>
       </archive>
    </configuration>
  2. Liste de dépendances

    Ajouter la liste des dépendances de module dans l'élement <Dependencies>. Utiliser le même format utilisé lors de l'ajout des dépendances dans le MANIFEST.MF. Veuillez consulter Section 3.2, « Ajouter une dépendance de module explicite à un déploiement » pour plus d'informations sur ce format.
    <Dependencies>org.javassist, org.apache.velocity</Dependencies>
  3. Build de projet

    Procédez au build de projet en utilisant l'objectif d'assemblage de Maven.
    [Localhost ]$ mvn assembly:assembly
Quand un build de projet est réalisé en utilisant l'objectif d'assemblage, l'archive finale comprend un fichier MANIFEST.MF avec les dépendances de module spécifiées.

Exemple 3.4. Dépendances de module configurées dans pom.xml

L'exemple ci-dessous montre le plug-in WAR mais il fonctionne également avec les plug-ins JAR et EJB (maven-jar-plugin et maven-ejb-plugin).
<plugins>
   <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <configuration>
         <archive>
            <manifestEntries>
               <Dependencies>org.javassist, org.apache.velocity</Dependencies>
            </manifestEntries>
         </archive>
      </configuration>
   </plugin>
</plugins>