Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Geben Sie den Klassenpfad für Maven an

Ich sehe drei Optionen:

  1. Stellen Sie die Abhängigkeiten in ein Repository (könnte ein Datei-Repository sein, wie in diese Antwort ) und deklarieren Sie sie mit einem Geltungsbereich provided .
  2. Benutze das schmutzige system Bereichstrick (d.h. Deklarieren Sie die Abhängigkeiten mit einem Systembereich und legen Sie den Pfad zu den JAR-Dateien in Ihrem Dateisystem fest.
  3. Kleine Variation von Nr. 2:Erstellen Sie eine JAR-Datei mit einer MANIFEST.MF, die auf alle JAR-Dateien verweist (unter Verwendung eines relativen Pfads), und deklarieren Sie eine Abhängigkeit von dieser fast leeren JAR-Datei mit einem system Geltungsbereich.

Der saubere Weg ist Option Nr. 1, aber andere würden in Ihrem Fall auch funktionieren. Option Nr. 3 scheint dem, was Sie suchen, am nächsten zu sein.

Aktualisierung: Um Option Nr. 3 zu verdeutlichen

Angenommen, Sie haben ein Verzeichnis mit a.jar und b.jar . Erstellen Sie eine c.jar mit einem Class-Path Eintrag in seiner META-INF/MANIFEST.MF andere Gläser auflisten, etwa so:

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

Deklarieren Sie dann in Ihrem POM eine Abhängigkeit von c (und nur auf c ) mit einem system Geltungsbereich werden andere JAR-Dateien "sichtbar", ohne dass Sie sie explizit in Ihrem POM auflisten müssen (sicher, Sie müssen sie im Manifest deklarieren, aber dies kann sehr einfach per Skript erstellt werden).