Maison >Java >javaDidacticiel >Comment puis-je regrouper les dépendances d'un projet dans un seul JAR avec Maven ?

Comment puis-je regrouper les dépendances d'un projet dans un seul JAR avec Maven ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-26 17:00:10950parcourir

How Can I Package Project Dependencies into a Single JAR with Maven?

Inclure des dépendances dans un pot avec Maven

Lors du développement de logiciels, il est courant de s'appuyer sur des bibliothèques et des frameworks développés par d'autres. Maven, un outil d'automatisation de build populaire, gère efficacement les dépendances des projets. Cependant, un développeur peut être amené à inclure ces dépendances dans le jar de distribution final pour diverses raisons.

Pour y parvenir, le plugin maven-assembly vient à la rescousse. En utilisant le descripteur « jar-with-dependencies », vous pouvez configurer Maven pour regrouper toutes les dépendances dans un seul fichier jar. Voici comment procéder :

Dans le pom.xml de votre projet, ajoutez la configuration suivante :

<build>
  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
    </plugin>
  </plugins>
</build>

En ajoutant cette configuration, vous demandez à Maven de créer un fichier jar qui inclut le fichier jar du projet. classes ainsi que tous les fichiers de classe dépendants. Cela garantit que votre pot est autonome et distribuable sans nécessiter d'installation de dépendances supplémentaires.

N'oubliez pas que cette approche n'intègre pas littéralement d'autres pots dans votre pot. Au lieu de cela, il extrait les fichiers de classe des dépendances et les regroupe avec les classes de votre application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn