Maison >Java >javaDidacticiel >Comment ajouter des fichiers JAR à un chemin de classe Maven 2 Build sans les installer ?

Comment ajouter des fichiers JAR à un chemin de classe Maven 2 Build sans les installer ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-17 07:31:24480parcourir

How to Add JARs to a Maven 2 Build Classpath Without Installing Them?

Comment ajouter des fichiers Jar à Maven 2 Build Classpath sans les installer

Comprendre les défis

Maven 2 peut être frustrant pendant expérimentation et prototypage rapide. Créer des fichiers pom.xml et installer des bibliothèques tierces pour chaque dépendance est un processus fastidieux. Cet article explique comment inclure des fichiers jar situés dans un répertoire spécifique (/lib) dans le chemin de classe de build sans installation explicite.

Approches défectueuses

Diverses solutions en ligne suggèrent installer la dépendance dans le référentiel local ou spécifier une portée "système" dans le pom. Cependant, les deux approches présentent des inconvénients :

  • Installation du référentiel local : La dépendance reste dans le référentiel local, la rendant indisponible ailleurs.
  • Portée du système : Les jars ne sont ni installés ni attachés aux packages cibles, ce qui entraîne des dépendances non résolues dans la distribution package.

La solution de référentiel statique dans le projet

En ajoutant un référentiel au pom.xml avec une structure spécifique, Maven recherchera jars dans un répertoire du projet :

<repository>
    <id>repo</id>
    <releases>
        <enabled>true</enabled>
        <checksumPolicy>ignore</checksumPolicy>
    </releases>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
    <url>file://${project.basedir}/repo</url>
</repository>

Using Maven à installer sur Project Repo

Au lieu de créer manuellement la structure de répertoires, utilisez la commande suivante pour installer les fichiers JAR en tant qu'artefacts :

mvn install:install-file -DlocalRepositoryPath=repo -DcreateChecksum=true -Dpackaging=jar -Dfile=[your-jar] -DgroupId=[...] -DartifactId=[...] -Dversion=[...]

Inclure les dépendances dans Package cible

Pour vous assurer que le package cible inclut toutes les dépendances, utilisez les plugins Assembly ou OneJar. OneJar simplifie ce processus grâce à sa documentation simple.

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