Jak powstrzymać maven przed pobieraniem zależności przechodnich?


1

Mam wywołanie Maven, które pobiera artefakty w celu przeprowadzenia testów integracji:

mvn -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -Dmdep.useBaseVersion=true dependency:copy-dependencies -DoutputDirectory=deps -DexcludeTransitive=true -e

Pom składa się wyłącznie z zależności, nic więcej. Istnieją inne skrypty, które pobierają artefakty z katalogu depsi uruchamiają na nich testy.

Teraz mój problem jest następujący: mimo że Maven kopiuje tylko artefakty, na które chcę deps, nadal pobiera wszystkie zależności przechodnie do pamięci podręcznej Maven, co jest stratą czasu i przepustowości (artefakty są kompilowane na innym kontynencie).

Czy jest jakiś sposób, aby powstrzymać maven przed pobraniem wszystkich zależności przechodnich do bufora?

Maven 3.0.4

Mile widziane są również rozwiązania wykorzystujące inne narzędzia, takie jak gradle lub ant + ivy, o ile mogą tworzyć układ repozytorium maven deps.

Odpowiedzi:


1

Maven ma ograniczone możliwości kontrolowania zakresu zależności, a dokumentacja nie jest najlepsza. Oto kilka w celach informacyjnych:


Chcę jednak poszukać i pobrać najnowsze wersje bezpośrednich zależności. Wydaje się, że tryb offline w ogóle zapobiegałby pobieraniu.
clacke

W takim przypadku istnieje możliwość aktualizacji migawek , pozostając w trybie offline.
Paul Sweatte

Nie, --update-snapshotsto inny problem, dlatego tak często (zawsze, zamiast raz dziennie) ponownie sprawdza, czy migawki istniejące w .m2pamięci podręcznej zostały zaktualizowane wcześniej. Ale offline jest nadal offline.
clacke

Właściwie będąc offline, dostaję komunikaty o błędach dotyczące głębokich zależności, które nie istnieją w mojej lokalnej pamięci podręcznej, mimo że ich nie chcę. Tak więc offline nie jest drogą do przejścia.
clacke

Dzięki. Wygląda na to, że potrzebujesz wykluczenia zależności .
Paul Sweatte
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.