Oracle
 sql >> Base de données >  >> RDS >> Oracle

Spécifier le chemin de classe pour maven

Je vois trois options :

  1. 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 .
  2. 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.
  3. 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é).