Czy możemy rozpocząć kompilację maven od miejsca, w którym zawiodła

89

Załóżmy, że tworzę pełną kompilację mojego dużego projektu, który ma 7 modułów, aw szóstym module kompilacja się nie powiodła, ponieważ test się nie powiódł. Czy jest jakiś sposób, w jaki mogę rozpocząć kompilację od momentu, w którym się nie powiodła?

Shekhar
źródło

Odpowiedzi:

134

Możesz wznowić kompilację z szóstego modułu za pomocą -rflub --resume-from:

-rf, --resume-from
          Wznów reaktor z określonego projektu

Aby uzyskać szczegółowe informacje, zobacz Zaawansowane opcje reaktora .

Pascal Thivent
źródło
Dzięki za to. Dam mu szansę
Shekhar,
1
to jest dobre, dla podprojektów po prostu użyj subproject/subsubprojectjako parametru
akostadinov
13
Przykład:maven -rf <module name> clean install
Zoltán
9
U mnie to działało tylko wtedy, gdy przed nazwą modułu dodałem dwukropek, np mvn -rf :moduleName install. (Nie jestem pewien, dlaczego okrężnica jest potrzebna, ale wydaje się, że tak jest - przynajmniej dla mojej konfiguracji.)
Steve Chambers
3
Wygląda na to, że działa to tylko wtedy, gdy początkowa kompilacja miała określony installcel, ponieważ wznawiająca kompilacja może następnie pobrać artefakty, które zostały już zbudowane z lokalnego repozytorium Maven, aby rozwiązać zależności od nich. Uważam, że uruchamianie installkompilacji jest złą praktyką, ponieważ zaśmiecasz lokalne repozytorium migawkami i możesz skończyć w zależności od starszej migawki niż to, czego się spodziewasz. Wygląda na to, że w przypadku kompilacji tylko Ty packagei nie install, użycie -rfnie wchodzi w grę: będziesz musiał wykonać całą kompilację.
Frans
13

Oto przykład

mvn clean install -rf :your-module
M Sach
źródło
9

możesz wznowić kompilację z dowolnego modułu, używając -rfpolecenia. Na przykład, jeśli twoja kompilacja nie powiodła się w myproject-proxy, możesz użyć następującego polecenia:

mvn -rf myproject-proxy clean install
user3401235
źródło
Musiałem wstawić dwukropek, aby to zadziałało, np. -Rf: yourModule Zobacz inne odpowiedzi.
Gapmeister66
8

spójrz na podsumowanie mavena, a zobaczysz wykonane moduły i miejsce zatrzymania mavena. następnie spróbuj tego:

mvn clean install-Dmaven.test.skip=true -rf :yourModule
Antonio Martin
źródło
-1

Składnia: mvn -rf nazwa modułu mavengoal lub mvn --resume-from nazwa modułu mavengoal

Na przykład: mvn -rf admin-module clean install lub mvn --resume-from admin-module clean install

scott_dennis
źródło
-rfnie jest skrótem od --remove-from. To jest skrót od--resume-from
Gili
-2

Możesz uruchomić kompilację modułu 6 osobno, aby sprawdzić, czy nadal się nie udaje, ale obawiam się, że musisz zbudować wszystkie moduły od początku, jeśli chcesz uruchomić „dużą” kompilację.

Edycja: Oczywiście kolejne kompilacje będą szybsze, ponieważ kod modułów 1-5 jest już skompilowany, chyba że uruchomisz czysty jako część kompilacji.

ryba
źródło
Tak .. Wiem to .. Ale szukałem sposobu na rozpoczęcie budowy od momentu, w którym się nie powiodło ..
Shekhar,