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?

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 .


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


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

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

-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


-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.


Tak .. Wiem to .. Ale szukałem sposobu na rozpoczęcie budowy od momentu, w którym się nie powiodło ..
Shekhar,
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.