Pierwsze (i nigdy nie będę powtarzać to wystarczy), stosując system
scoped zależności jest zniechęcony, chyba że wiesz dokładnie, co robisz. Od Dependency Scopes: system
: Zależność ta jest wymagana w jakiejś fazie cyklu życia Twojego projektu , ale jest od systemu. użycie tego zakresu jest odradzane: To jest uważany za „zaawansowane” rodzaj funkcji i powinny być stosowane tylko wtedy, gdy naprawdę zrozumieć wszystkie konsekwencje jego stosowania, które mogą być bardzo trudne, jeśli nie faktycznie niemożliwe określ ilościowo. Ten zakres definicji z definicji powoduje, że kompilacja nie jest przenośna. W niektórych przypadkach brzegowych może to być konieczne. Zakres systemowy obejmuje element <systemPath>
, który wskazuje na jego fizyczną lokalizację zależną od lokalnej maszyny. Jest to zatem używane w ten sposób w odniesieniu do pewnego artefaktu, którego oczekuje się, że będzie obecny na podanej lokalnej maszynie, a nie w repozytorium; i których ścieżka może się różnić maszyna do maszyny. Element systemPath
może odnosić się do zmiennych środowiskowych na swojej ścieżce: na przykład ${JAVA_HOME}
.
Teraz, aby ściśle odpowiedzieć na to pytanie, deklarując zależność z zakresu system
które wskazywałyby na kilka słoików jest „możliwe” IF zależność ma MANIFEST.MF
wymieniając inne JAR względnie w jego wejścia Class-Path
. Coś jak to (zakładając, „root” zależność jest w lib
):
Class-Path: ../lib/bar.jar ../lib/foo.jar
ale nie polecam tej metody, zwłaszcza w konkretnym przypadku. Zamiast tego spójrz na to previous answer, gdzie opiszę, jak skonfigurować repozytorium oparte na plikach.
fajna wtyczka. dzięki – ufk
addjars-maven-plugin wymaga wersji Maven 3.0. – SKR