2012-10-15 16 views

Odpowiedz

23

To prawda, że ​​rodzic macierzysty zawarł już deklarację zależności w sekcji zarządzania zależnościami. Ale nie jest brane pod uwagę. Aby to zrobić, powinniśmy wykonać polecenie instalacji pliku pom w lokalnym repozytorium maven.

mvn -f <the absolute path to the parent's pom file> install -N

Należy pamiętać, że gdy Maven rozwiązuje zależności, to zawsze szuka pom plików dostępnych już w repo. Zamiast tego lokalne pliki nie są brane pod uwagę.

6

Dodałbym to jako komentarz do odpowiedzi Hui Wanga, ale z jakiegoś powodu komentowanie wydaje się wyłączone.

W każdym razie, w moim przypadku musiałem użyć następującego polecenia:

mvn -f <path to the parent's pom file> install -N 

Używam Maven 3, więc może to różni się od maven 2.

nie mogłem Hui polecenie do pracy bez opcji -f, a ścieżka pliku nadrzędnego pliku pom nie była konieczna (bezwzględna i bezwzględna).

+1

Dzięki Felix, masz rację. Opcję -f należy dodać, aby wskazać plik pom. –

8

Innym powodem, dla którego Maven skarży się na brakującą zależność, jest sytuacja, gdy zależność zadeklarowana w rodzicu pom ma <typ>, który nie odpowiada typowi, którego szuka pom dziecko.

Powiązane problemy