Oracle
 sql >> Database >  >> RDS >> Oracle

Specifica il percorso di classe per Maven

Vedo tre opzioni:

  1. Inserisci le dipendenze in un repository (potrebbe essere un repository di file come descritto in questa risposta ) e dichiararli con un ambito provided .
  2. Usa il system sporco trucco dell'ambito (ovvero dichiarare le dipendenze con un ambito di sistema e impostare il percorso dei jar nel file system.
  3. Piccola variazione del #2:crea un jar con un MANIFEST.MF referenziando tutti i jar (usando un percorso relativo) e dichiara una dipendenza da questo jar quasi vuoto con un system portata.

Il modo pulito è l'opzione n. 1, ma nel tuo caso funzionerebbero anche altri. L'opzione n. 3 sembra essere la più vicina a ciò che stai cercando.

Aggiornamento: Per chiarire l'opzione n. 3

Supponiamo che tu abbia una directory con a.jar e b.jar . Crea un c.jar con un Class-Path voce nel suo META-INF/MANIFEST.MF elencando altri vasetti, qualcosa del genere:

Class-Path: ./a.jar ./b.jar 

Quindi dichiara una dipendenza nel tuo POM su c (e solo su c ) con un system scope, altri jar diventeranno "visibili" senza doverli elencare esplicitamente nel tuo POM (certo, devi dichiararli nel manifest, ma questo può essere molto facilmente scriptato).