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?
89
subproject/subsubproject
jako parametrumaven -rf <module name> clean install
mvn -rf :moduleName install
. (Nie jestem pewien, dlaczego okrężnica jest potrzebna, ale wydaje się, że tak jest - przynajmniej dla mojej konfiguracji.)install
cel, 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 uruchamianieinstall
kompilacji 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 Typackage
i nieinstall
, użycie-rf
nie wchodzi w grę: będziesz musiał wykonać całą kompilację.Oto przykład
mvn clean install -rf :your-module
źródło
możesz wznowić kompilację z dowolnego modułu, używając
-rf
polecenia. 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
źródło
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
źródło
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
źródło
-rf
nie jest skrótem od--remove-from
. To jest skrót od--resume-from
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.
źródło