Ajout d'une dépendance externe non disponible sur un central repository

Dans certains cas une dépendance peut être nécessaire à votre projet Maven et elle n'est disponible sur aucun repository central. L'idéal dans ce cas est de l'ajouter au Nexus ou Artifactory lié au projet mais comment faire lorsqu'il n'y en a pas ?

La commande mvn install:install-file permet de résoudre ce problème:

mvn install:install-file 
    -DlocalRepositoryPath=lib 
    -DcreateChecksum=true 
    -Dpackaging=jar 
    -Dfile=external_jar.jar 
    -DgroupId=com.group.id 
    -DartifactId=external.artifact.id 
    -Dversion=2.1

Si le JAR a été construit avec Apache Maven, il contiendra un pom.xml dans un sous dossier META-INF et on peut directement lancer:

mvn install:install-file 
        -Dfile=filename.jar
        -DlocalRepositoryPath=lib

Ajouter le repository local au pom.xml

<repositories>
    <repository>
        <id>Internal repository</id>
        <url>file://${basedir}/lib</url>
    </repository>
</repositories>

Puis on peut référencer le jar comme n'importe quelle autre dépendance

<dependency>
    <groupId>com.group.id</groupId>
    <artifactId>external.artifact.id</artifactId>
    <version>2.1</version>
</dependency>
← Back to home