Je vois trois options :
- Placez les dépendances dans un référentiel (peut être un référentiel de fichiers comme décrit dans cette réponse
) et déclarez-les avec une portée
provided
. - Utiliser le sale
system
astuce de portée (c'est-à-dire déclarer les dépendances avec une portée système et définir le chemin d'accès aux jars dans votre système de fichiers. - Petite variante de #2 :créez un jar avec un MANIFEST.MF référençant tous les jars (en utilisant un chemin relatif) et déclarez une dépendance sur ce jar presque vide avec un
system
portée.
La méthode propre est l'option n ° 1, mais d'autres fonctionneraient également dans votre cas. L'option 3 semble être la plus proche de ce que vous recherchez.
Mise à jour : Pour clarifier l'option #3
Disons que vous avez un répertoire avec a.jar
et b.jar
. Créez un c.jar
avec un Class-Path
entrée dans son META-INF/MANIFEST.MF
répertoriant d'autres pots, quelque chose comme ceci :
Class-Path: ./a.jar ./b.jar
Déclarez ensuite une dépendance dans votre POM sur c
(et uniquement sur c
) avec un system
scope, d'autres jars deviendront "visibles" sans avoir à les lister explicitement dans votre POM (bien sûr, vous devez les déclarer dans le manifeste mais cela peut être très facilement scripté).