L'ajout de dépendances tierces sans fichiers POM peut être délicat dans Maven 2. Les solutions populaires telles que l'installation sur le référentiel local ou l'utilisation de la portée « système » ont inconvénients.
Défauts avec "Installer sur un dépôt local"
Les dépendances installées restent sur la machine locale, rendant l'artefact de distribution dépendant d'un référentiel spécifique. Cela pose des défis aux autres machines qui tentent de résoudre la dépendance.
Préoccupations liées à la « étendue du système »
Les fichiers Jar ajoutés via la portée « système » ne sont pas installés ni inclus dans le paquet cible. Le package de distribution ne dispose pas des dépendances nécessaires, ce qui entraîne des problèmes de résolution lors de sa distribution.
En ajoutant un référentiel statique à votre POM, Maven recherchera des artefacts dans un référentiel prédéfini. structure de dossiers dans le répertoire de votre projet.
<repository> <id>repo</id> <releases> <enabled>true</enabled> <checksumPolicy>ignore</checksumPolicy> </releases> </repository>
Les artefacts seront recherchés dans :
repo/ | - x/ | | - y/ | | | - z/ | | | | - ${artifactId}/ | | | | | - ${version}/ | | | | | | - ${artifactId}-${version}.jar
Utilisez un plugin Maven pour installer automatiquement vos jars en tant qu'artefacts :
mvn install:install-file -DlocalRepositoryPath=repo -DcreateChecksum=true -Dpackaging=jar -Dfile=[your-jar] -DgroupId=[...] -DartifactId=[...] -Dversion=[...]
Pour simplifier l'installation de la bibliothèque, un script d'assistance est disponible pour installer automatiquement les fichiers jar à partir d'un dossier "lib", résoudre les métadonnées et générer du POM dépendances.
Pour rendre votre artefact cible indépendant des dépendances non publiées, pensez à les inclure dans votre package cible à l'aide du plugin Assembly ou 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!