Erste (und ich werde es nie genug wiederholen), mit system
Abhängigkeiten scoped ist entmutigt, wenn Sie nicht genau wissen, was Sie tun. Von Dependency Scopes:
System: Diese Abhängigkeit ist in einiger Phase Ihres Projektlebenszyklus erforderlich, aber systemspezifisch. Nutzung dieses Rahmen wird abgeraten: Dies gilt eine „fortgeschrittene“ Art Feature und soll nur verwendet werden, wenn Sie wirklich alle Verästelungen ihrer Verwendung verstehen, , die extrem schwer, wenn nicht sein können eigentlich unmöglich quantifizieren. Dieser Bereich per Definition macht Ihren Build nicht tragbar. In bestimmten Edge Fällen kann es notwendig sein. Der Systembereich enthält das Element <systemPath>
, das auf den physischen Standort dieser Abhängigkeit von der lokalen Maschine zeigt. Es wird so verwendet, um auf einige Artefakte zu verweisen, die auf der gegebenen lokalen Maschine erwartet werden, die nicht in einem Repository vorhanden ist; und deren Pfad kann variieren Maschine-zu-Maschine. Das systemPath
Element kann sich auf Variable in seinem Pfad beziehen: ${JAVA_HOME}
zum Beispiel. Jetzt
, streng Ihre Frage zu beantworten, eine Abhängigkeit mit einem system
Umfang erklärt, der auf mehrere Gläser zeigen würde, ist „möglich“ IF die Abhängigkeit einen MANIFEST.MF
Auflistung andere JAR-Dateien relativ in seinem Class-Path
Eintrag hat. So etwas wie diese (die „root“ Abhängigkeit der Annahme ist in lib
):
Class-Path: ../lib/bar.jar ../lib/foo.jar
aber ich weiß nicht, diesen Ansatz empfehlen, vor allem in Ihrem speziellen Fall. Sehen Sie sich stattdessen previous answer an, wo ich die Einrichtung eines dateibasierten Repositorys beschreibe.
cool Plugin. danke – ufk
addjars-maven-plugin benötigt Maven Version 3.0. – SKR