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

Comment puis-je ajouter des fichiers JAR à mon chemin de classe Maven 2 Build sans les installer ?

DDD
DDDoriginal
2024-12-16 15:20:13958parcourir

How Can I Add JARs to My Maven 2 Build Classpath Without Installing Them?

Pouvez-vous ajouter des fichiers Jar à Maven 2 Build Classpath sans les installer ?

L'intégration de dépendances externes dans les projets Maven 2 peut être compliquée pendant le développement . Pour éviter de créer et d'installer manuellement des fichiers pom.xml pour des bibliothèques tierces, nous recherchons une solution qui nous permette d'inclure des fichiers jar à partir d'un répertoire spécifique.

Problèmes avec les approches existantes

Les méthodes couramment suggérées pour ajouter des fichiers JAR incluent leur installation locale ou l'utilisation d'une portée "système". Cependant, ces méthodes présentent des inconvénients :

  • Installation locale : La dépendance est limitée à la machine spécifique sur laquelle elle est installée.
  • Étendue du système : Les artefacts ne sont installés dans aucun référentiel ni attachés aux packages cibles, ce qui les rend indisponibles lorsqu'ils sont utilisés sur d'autres machines.

Solution de référentiel statique dans le projet

Pour résoudre ces limitations, nous pouvons créer un référentiel statique dans le projet à l'aide de la configuration pom.xml suivante :

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

Utiliser Maven pour installer sur un projet Repo

Pour éviter de créer manuellement la structure du référentiel, nous pouvons utiliser un plugin Maven pour installer les jars 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 le package cible

Bien que l'utilisation d'un référentiel dans le projet résolve les problèmes de distribution, nos packages cibles dépendront toujours de fichiers jar insolubles. Pour résoudre ce problème, nous pouvons inclure ces dépendances dans le package cible en utilisant soit le plugin Assembly, soit le plugin OneJar.

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